所以我创建了一种颜色,我正在尝试返回它有多白的值...
color1 = [UIColor colorWithRed:188/255.f green:50/255.f blue:219/255.f alpha:1];
我可以使用此方法返回色调、饱和度和亮度的值:
[color1 getHue:&hue saturation:&saturation brightness:&brightness alpha:&alpha];
效果很好,我得到了各种浮点值
但是当我尝试使用 Apple 的“GetWhite”方法时,无论我输入哪种颜色,返回的值始终为 0.00000。
[color1 getWhite:&white alpha:&alpha];
我做错了什么?我需要先将颜色转换为灰度吗?如果是这样,我该怎么做?有没有更简单的方法来检测某物有多白......只是平均红/绿/蓝值然后除以 255?谢谢!
(*此外,我的声誉还不够高,无法为此添加标签“getWhite”,有人可以创建它吗...当我用谷歌搜索这个问题的答案时,什么也没有出现...也许创建那个标签将帮助有需要的人。)
最佳答案
你的问题表明你可能不理解getWhite的用途。来自文档:
If the color is in a compatible color space, the color is converted into grayscale format...
所以这个函数的目的是获取灰度的颜色值。如果您描述获得此值的目的,我们可能会更详细地帮助您。
就是说,如果这确实是您要使用的函数,您还应该测试 getWhite 的返回值。文档提到了有关返回值的内容:
YES if the color could be converted, NO otherwise.
关于iOS 白色是一种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201763/