我需要确定选定的UIColor (由用户选择)是暗的还是亮的,这样我就可以更改位于该颜色之上的一行文本的颜色,以获得更好的可读性。
下面是一个用Flash/Actionscript编写的例子(带演示):http://web.archive.org/web/20100102024448/http://theflashblog.com/?p=173
有什么想法吗?
干杯,安德烈
更新
感谢大家的建议,下面是工作代码:
- (void) updateColor:(UIColor *) newColor
{
const CGFloat *componentColors = CGColorGetComponents(newColor.CGColor);
CGFloat colorBrightness = ((componentColors[0] * 299) + (componentColors[1] * 587) + (componentColors[2] * 114)) / 1000;
if (colorBrightness < 0.5)
{
NSLog(@"my color is dark");
}
else
{
NSLog(@"my color is light");
}
}
再次感谢:)
https://stackoverflow.com/questions/2509443
复制相似问题