在我目前的工具中有一个彩色框,里面有一些数字。该框的背景色由某种列表定义,但也可由用户更改。 forecolor(数字的== fontcolor)不能,我想确保用户可以随时读取数字,所以我希望在背景颜色变化时随时调整数字的前景色。如何计算易于阅读的随机背景颜色?
大气压我用这样的代码:
if(Math.Abs(foreColor.GetBrightness() - backColor.GetBrightness()) <= 0.5f)
{
if(foreColor.GetBrightness() > 0.5f)
{
foreColor = Color.Black;
}
else
{
foreColor = Color.White;
}
}
但这只是针对该问题的解决方法,也有相当多的颜色(主要是黄色),导致不良阅读的显示屏。任何人都碰到类似的问题,并找到一个很好的解
如果您允许使用完全彩色的文本,这可以正常工作,可惜我无法做到这一点。 – Stimpatch 2010-08-25 09:56:59