DrawString的字体重影

幻灵小龙 2011-08-19 04:32:29

如图,放大后的,多个颜色混合了,有时只是黑色边框。
用gdi+先创建的一个Bitmap,往Bitmap上画,最后再整个贴上去。
...全文
277 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻灵小龙 2011-08-22
  • 打赏
  • 举报
回复

CDC * cdc = GetDC();
Graphics graphics(cdc->m_hDC);

CRect rect;
GetClientRect(&rect);

Bitmap * bmp = new Bitmap(rect.Width(),rect.Height());

Graphics * dc = graphics.FromImage(bmp);
dc->DrawString(wszUtf8, -1, &font, PointF(vecDrawPoint[0].beginPoint.x, vecDrawPoint[0].beginPoint.y), &textBrush);

graphics.DrawImage(bmp, 0,0);

在paint里处理的,主要代码是这些。
辰岡墨竹 2011-08-22
  • 打赏
  • 举报
回复
如果是给位图上画的DrawString得用SetTextRenderingHint禁用ClearType,否则不支持次像素的上面渲染会出问题吧。
http://msdn.microsoft.com/en-us/library/ms535817(v=VS.85).aspx
幻灵小龙 2011-08-22
  • 打赏
  • 举报
回复
SolidBrush textBrush(color);
不是textBrush的问题。
向立天 2011-08-22
  • 打赏
  • 举报
回复
你是在OnPaint里画的?
在OnPaint里应用用CPaintDC
不过你的问题应该和这个关系不大
textBrush是怎么设置的
是不是没有处理好alpha通道
向立天 2011-08-20
  • 打赏
  • 举报
回复
代码怎么写的
就是一句DrawString?
幻灵小龙 2011-08-19
  • 打赏
  • 举报
回复

只是在对话框里输出彩色的字而已,结果字颜色不对……
向立天 2011-08-19
  • 打赏
  • 举报
回复
我没看懂你的问题是什么
缩小的时候什么样
你想实现什么效果
hnzlk 2011-08-19
  • 打赏
  • 举报
回复
每次画之前,先填充一下背景。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧