社区
界面
帖子详情
gdi+ DrawString 在黑白图片上输出文本怎么不对,同样的代码多次执行之后,还会抛出异常(仅黑白图片时)?
吉哥
2005-08-14 07:57:23
请教:本人参考了SDK帮助文档,写了段代码,就是文本输出(指定位置,字体,SolidBrush),各种图形格式都行,当为黑白图片时,就没有任何改变,且第二次执行时,会出错(好象是创建画刷时)?各位大侠多多帮忙!!!!
...全文
149
9
打赏
收藏
gdi+ DrawString 在黑白图片上输出文本怎么不对,同样的代码多次执行之后,还会抛出异常(仅黑白图片时)?
请教:本人参考了SDK帮助文档,写了段代码,就是文本输出(指定位置,字体,SolidBrush),各种图形格式都行,当为黑白图片时,就没有任何改变,且第二次执行时,会出错(好象是创建画刷时)?各位大侠多多帮忙!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
吉哥
2005-09-05
打赏
举报
回复
已查清,Graphics graphics(pImage),当pImage所存储的位图格式不符合要求时,graphics无效。
吉哥
2005-08-14
打赏
举报
回复
Font myFont(L"Arial",16);
SolidBrush blackBrush(Color(255,0,0,0));
[
Image image(fileName);
Image *pImage = image.Clone();
]
pImage->DrawString(&myFont,位置,&blackBrush,str);
差不多就是这样?
除了单色图象均没有问题
吉哥
2005-08-14
打赏
举报
回复
Font myFont(L"Arial",16);
SolidBrush blackBrush(Color(255,0,0,0));
[
]
lixiaosan
2005-08-14
打赏
举报
回复
HDC dc = ::GetDC();
HDC dcMem;
dcMem = ::CreateCompatibleDC(dc);
LOGBRUSH logbr;
memset(&logbr, 0, sizeof(LOGBRUSH));
logbr.lbColor = RGB(255,0,0);
logbr.lbStyle = BS_SOLID;
HBRUSH hBrush = CreateBrushIndirect(&logbr);
HBRUSH oldbr = (HBRUSH)SelectObject(dcMem, hBrush);
一般这种可能是资源释放的问题
最后要
//把旧的brush选回
SelectObject(dcMem, oldbrush);
//删除dc
::DeleteDC(dcMem);
以及
DeleteObject(hBrush);
吉哥
2005-08-14
打赏
举报
回复
up
吉哥
2005-08-14
打赏
举报
回复
我开始就用缺省的SolidBrush blackBrush(255,0,0,0)也是不对。
吉哥
2005-08-14
打赏
举报
回复
没有,但都是临时变量。没关系,操作其他的图片都是对的啊。在线等待。。。。。。。
dirdirdir3
2005-08-14
打赏
举报
回复
背景颜色和字体颜色设置的对不对,只有两种颜色,字体颜色要和画到的地方的颜色不同才行,不然就看不到变化了
lixiaosan
2005-08-14
打赏
举报
回复
不知道你是否释放了资源。。
GDI+
类模块使用教程全面解析与实战
GDI+
作为Windows平台下图形绘制的核心API,是对传统GDI的现代化升级,提供了更丰富的二维图形处理能力。相较于GDI,
GDI+
引入了抗锯齿渲染、Alpha混合、渐变填充和透明通道支持等关键特性,显著提升了视觉质量。其架构采用分层设计,上层为面向开发者的托管接口(如.NET中的),中层为非托管
GDI+
核心库(gdiplus.dll),底层则通过设备上下文(Device Context)与显示驱动交互。// 示例:启用高质量渲染该体系通过GraphicsPenBrush。
C#实现
文本
框字符转单张图片的完整解决方案
把一个字符画成图,听起来很简单。但要做到高效、稳定、美观、跨平台,每一步都有学问。希望这篇文章不
仅
教会你怎么写
Draw
String
,更能让你明白:每一个清晰的像素背后,都是对资源、编码、平台差异的深刻理解。下次当你面对模糊的图片、崩溃的程序、奇怪的乱码
时
,别急着查百度,先问问自己:🧠 “我是不是忘了 Dispose?🧠 “我有没有考虑 Unicode?🧠 “我在哪个平台上跑?搞清楚这些,你就离真正的工程师更近了一步。加油,少年!🌟。
C#实现Windows桌面滚动字幕系统设计与开发
标准控件虽能满足大部分需求,但对于滚动字幕这类高频刷新的动画场景,直接使用Label或Panel绘图可能导致画面闪烁。此
时
需引入
GDI+
绘图与双缓冲机制优化渲染质量。是整个滚动系统的核心变量,表示
文本
相对于初始位置在 X 轴上的偏移量(单位:像素)。当
文本
向左滚动
时
,该值逐步减小;当超出可视区域后,则需重置回右侧起始点。
C#实现彩色图像转灰度图完整项目实战
图像处理作为计算机视觉和数字图像分析的基础,广泛应用于医学影像、安防监控、工业检测、人工智能等多个领域。随着数字化进程的加速,对图像信息的高效处理需求日益增长。灰度化作为图像预处理的关键步骤,能够显著降低数据复杂度,提升后续算法的运行效率。在实际应用中,彩色图像包含丰富的RGB三通道数据,但多数识别任务
仅
依赖亮度信息。通过将彩色图像转换为灰度图,不
仅
减少了内存占用,还提高了特征提取、边缘检测等操作的计算效率。例如,在人脸识别系统中,灰度化可消除光照色偏干扰;在OCR文字识别中,有助于增强
文本
对比度。
C#高性能图片预览插件源码实战项目
C#图片预览插件专为桌面应用设计,提供高性能、交互式的图像浏览能力,广泛应用于图像处理软件、文档查看器和多媒体管理系统。其核心功能包括多格式图像加载(如JPEG、PNG、BMP、GIF)、高质量渲染、鼠标拖拽平移、滚轮缩放及等比适应显示区域。继承类型优势劣势推荐用途Panel轻量、默认支持滚动条 (AutoScroll缺少设计器支持子控件布局纯图像显示区域支持嵌套控件、可视化编辑开销略高需叠加按钮、标签等功能层。
界面
15,977
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章