将颜色从colorWithRGBA转换为colorWithWhite

时间:2012-10-12 00:03:26

标签: objective-c ios uicolor

我一直在使用十六进制计算器将十六进制值转换为RGB值(#666 = 102/102/102等)。

似乎我不能在UIColor中使用它,[UIColor colorWithRed:102 green:102 blue:102 alpha: 1.0]似乎只返回白色(也试过60)。如果我使用[UIColor colorWithWhite:0.6 alpha:1.0]我会得到一个深色 - 所以如何将像102/102/102这样的值转换为colorWithWhite值?

我尝试过的方法是取该值除以255,所以102/255 = 0.4所以我将colorWithWhite值设置为0.4。那是准确的吗?

1 个答案:

答案 0 :(得分:1)

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha

参数: red - 颜色对象的红色分量,指定为0.0到1.0之间的值。

green - 颜色对象的绿色组件,指定为0.0到1.0之间的值。

blue - 颜色对象的蓝色分量,指定为0.0到1.0之间的值。

alpha - 颜色对象的不透明度值,指定为0.0到1.0之间的值。

因此,要将RGB值转换为介于0.0和1.0之间,请执行#/ 255

编辑:响应您的编辑,是的,这是正确的。但请记住,如果你在代码中执行此操作,则执行整数除法,然后得到0.将255设置为浮点变量或使用常量255.f