gpt4 book ai didi

ios - 检查 UIColor 是暗的还是亮的?

转载 作者:IT王子 更新时间:2023-10-29 07:29:27 26 4
gpt4 key购买 nike

我需要确定选定的 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");
}
}

再次感谢:)

最佳答案

W3C 有以下内容: http://www.w3.org/WAI/ER/WD-AERT/#color-contrast

如果您只处理黑色或白色文本,请使用上面的颜色亮度计算。如果低于 125,则使用白色文本。如果是 125 或以上,则使用黑色文本。

编辑 1:偏向黑色文本。 :)

编辑 2:要使用的公式是 ((红色值 * 299) + (绿色值 * 587) + (蓝色值 * 114))/1000。

关于ios - 检查 UIColor 是暗的还是亮的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2509443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com