如何使TextOut输出的字符颜色自适应背景色?

ycoder 2008-08-28 03:34:14
我希望在一副RGB24图像上TextOut出一段文字来,由于这幅图像是变化的,所以希望TextOut出来文字的颜色能够与背景颜色有明显的反差。
比如图片颜色是黑色,那么文字颜色应该是白色。如果图片是白色,那么文字应该是黑色。
希望大家提供思路,谢谢!
...全文
412 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yysg12 2009-12-19
  • 打赏
  • 举报
回复
~~~~~~~~~~~~~
ycoder 2008-08-28
  • 打赏
  • 举报
回复
问题解决了,按照cnzdgs的方法。
谢谢eternalkid,yuzhouzhichong!
ycoder 2008-08-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 eternalkid 的回复:]
能不能先取图像的三原色再取反作为文字颜色?小弟拙见,权当抛砖引玉了,呵呵。
[/Quote]
这样做是可以实现,但却要在输出每一个字符前先设置一下TEXTCOLOR,太麻烦了。我很懒的
cnzdgs 2008-08-28
  • 打赏
  • 举报
回复
可以创建一个内存DC和兼容位图,将背景设置为黑色,文字设置为白色,输出到内存DC,然后再用异或方式贴到目标上。
yuzhouzhichong 2008-08-28
  • 打赏
  • 举报
回复
CDC *pDC=GetDc();
pDC->settextcolor(pDC->getbkcolor()+255);
试试看
eternalkid 2008-08-28
  • 打赏
  • 举报
回复
能不能先取图像的三原色再取反作为文字颜色?小弟拙见,权当抛砖引玉了,呵呵。

15,979

社区成员

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

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