首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查UIColor是暗的还是亮的?

检查UIColor是暗的还是亮的?
EN

Stack Overflow用户
提问于 2010-03-25 00:27:42
回答 14查看 28.6K关注 0票数 117

我需要确定选定的UIColor (由用户选择)是暗的还是亮的,这样我就可以更改位于该颜色之上的一行文本的颜色,以获得更好的可读性。

下面是一个用Flash/Actionscript编写的例子(带演示):http://web.archive.org/web/20100102024448/http://theflashblog.com/?p=173

有什么想法吗?

干杯,安德烈

更新

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

代码语言:javascript
复制
- (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");
    }
}

再次感谢:)

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2509443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档