首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

如何样根据背景颜色来修改写字的颜色

2012-05-21 
怎么样根据背景颜色来修改写字的颜色比如我有一张图,正常情况下是黑色的,那么我默认往上面写字的时候用白

怎么样根据背景颜色来修改写字的颜色
比如我有一张图,正常情况下是黑色的,那么我默认往上面写字的时候用白色字体,要写多行。有时候图会反过来变成白色的了,只有黑白两种情况,这样我怎么判断我写字的位置是应该用黑还是用白,有时候背景正好第一行是黑色,第二行是白色,那么我写第一行要用白色,第二行要用黑色等,不知道能看明白不,期待解决方案。

[解决办法]
建议改用红色写,或其他不会被黑白模糊的颜色来写;
一定要用黑白写的话,取背景色与画笔颜色 同或。
[解决办法]
如果不考虑效率,可以把字先画在空白图上(空白图尺寸和背景一样),然后根据非白点的位置,把背景该位置的颜色取反
[解决办法]
用SetROP2取反色(R2_NOT)试试
[解决办法]
在背景上取颜色,然后取反。
[解决办法]
Pixels[x][y]
[解决办法]
歉意。回答得不好。
Pixels[x][y],返回的是x,y点的TColor值。
值为 clBlack,clBlack,分加是黑、白色。

[解决办法]
又错了。clBlack,clWhite,分别是黑、白色。
[解决办法]
判断偏黑白,你可以根据情况设定一个阀值,简单的可以先取R,G,B中的最大值,然后跟你设定的阀值比较,
大于你的阀值为黑色,反之为白色。
[解决办法]
取红绿蓝三个分量 亮度=红*0.3+绿*0.6+蓝*0.1 亮度<127算偏黑

热点排行