我必须自定义iOS应用,指南说:
请勿使用0到255十进制表示法中的RGBA值,但请使用0.0 改为1.0算术符号!
例如,指南中的默认应用颜色#70C7C6将转换为(0.298,0.792,0.784,1.000)。
如何转换其他颜色?我以前从来不知道这个算术符号。
答案 0 :(得分:1)
将字符串十六进制值转换为整数,然后得到算术符号将每个值除以255。
例如" C7" - > 199 - > 255分之199。 - > 0.78。
最后一个值是不透明度,听起来像你的情况总是1。
答案 1 :(得分:1)
颜色分量是指定范围内的数字,当使用十六进制或整数值时,您(通常)具有0-255
中的数字(如果以十六进制表示,则由0x00-0xFF
表示)。但是你可以通过在0.0-1.0范围内对其进行标准化来表达相同的值,你可以通过将每个组件除以最大允许值来实现,例如:
您的十六进制为0xC7
,十进制为199
,您将其除以255.0f
,然后获得0.780f
。
在实践中UIColor
已经提供methods来获取规范化值,您只需要转换十六进制表示法中的数字,这可以通过简单的library轻松完成:< / p>
UIColor* color = [UIColor colorWithCSS:@"70c7c6"];
CGFloat r, g, b, a;
[color getRed:&r green:&g blue:&b alpha:&a]