相关疑难解决方法(0)

检查UIColor是暗还是亮?

我需要确定选定的UIColor(由用户选择)是暗还是亮,因此我可以更改位于该颜色顶部的文本行的颜色,以提高可读性.

这是Flash/Actionscript中的一个示例(带演示):http://web.archive.org/web/20100102024448/http://theflashblog.com/?p = 173

有什么想法吗?

干杯,安德烈

UPDATE

感谢大家的建议,这是工作代码:

- (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");
    }
}
Run Code Online (Sandbox Code Playgroud)

再次感谢 :)

iphone xcode colors uicolor ios

100
推荐指数
8
解决办法
2万
查看次数

标签 统计

colors ×1

ios ×1

iphone ×1

uicolor ×1

xcode ×1