【问题标题】:iOS how white is a coloriOS白色是一种颜色
【发布时间】:2013-01-07 18:24:23
【问题描述】:

所以我已经创建了一种颜色,我正在尝试返回它的白度值...

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 是否返回 YESNO
  • 标签 getWithe 是个坏主意,你到底有什么想法?它应该是“颜色”或“颜色模型”“颜色计算”。下一个可能会要求标记我的颜色有多蓝
  • (它可能不会真正返回 0.0;检查是否发生了隐式转换。)
  • 浮点“白色”返回 0.00000
  • 不,不会。我们不需要为阳光下的每一个功能都贴上标签。您还误用了white,这根本与颜色无关。

标签: ios colors uicolor


【解决方案1】:

您的问题表明您可能不了解 getWhite 的用途。来自文档:

如果颜色在兼容的颜色空间中,则将颜色转换为灰度格式...

所以这个函数的目的是获取灰度的颜色值。如果您描述了获得此价值的目的,我们或许可以为您提供更详细的帮助。

也就是说,如果这真的是你要使用的函数,你也应该测试一下 getWhite 的返回值。文档中提到了有关返回值的内容:

如果可以转换颜色则为YES,否则为NO。

【讨论】:

  • 什么是“兼容的色彩空间”?如何使颜色兼容,或者是否有一个函数可以确定不在兼容颜色空间中的颜色有多白?
猜你喜欢
  • 2019-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
  • 2013-03-26
  • 1970-01-01
  • 2021-06-23
  • 2013-08-15
相关资源
最近更新 更多