- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我需要确定选定的 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/
在这个 fiddle 上,函数完美地完成了工作,但我需要稍微调整连接。 该点击甚至需要是父 div 的 addClass(深色/浅色)(true 或 false)。 如果是深色,则添加 Bright
我正在使用 Windows.UI.ViewManagement.UISettings 来获取系统强调色,但该类似乎没有任何亮/暗模式的方法或属性。我找不到此功能的文档,我该如何检测? PS:我正在制作
在使用 iOS 13 在明暗模式之间切换时,我遇到了显示键盘的异常行为。 该 View 有一个 inputAccessoryView 供用户输入消息。当然后在键盘显示的情况下切换亮/暗模式时,亮/暗模
我正在开发一个支持多个主题的 iOS 应用程序。有些主题使用深色背景,有些使用浅色。一些默认图标在深色/浅色背景中不可见。我在 xcassets 中看到一个选项,可以为不同的颜色模式添加图像。我的目标
一些上下文:Sciter (纯 win32 应用程序)已经能够呈现类似 UWP 的 UI: 在深色模式下: 在灯光模式下: Windows 10.1803 在设置小程序中引入深色/浅色开关 as se
我是一名优秀的程序员,十分优秀!