RGB 到 HSL 的转换似乎在数值上还可以,但在视觉上却不是这样
这是一个菜鸟问题。
- 假设我的 RGB 值为:R:53、G:37 和 B:11
所以我使用以下命令设置矩形的背景颜色:
[UIColor colorWithRed:0.53 green:0.37 blue:0.11 alpha:1.00];
现在我做一个 RGB 到 HSL 的转换,结果是:H:0.10,is S:0.16 和 L:0.13
所以我设置了相同矩形的背景颜色:
[UIColor colorWithHue:0.10 饱和度:0.16 亮度:0.13 alpha:1.00];
问题是 HSL 颜色看起来与 RGB 颜色完全不同。我将我的转换结果与在线转换器进行了比较,据我所知,它看起来不错。
我很可能错误地解释了某些内容。
a noob question here.
- let's say I have RGB values of: R:53,G:37 and B:11
so i set a background color of a rectangle with:
[UIColor colorWithRed:0.53 green:0.37 blue:0.11 alpha:1.00];
now I do a RGB to HSL conversion that yields: H:0.10,is S:0.16 and L:0.13
so i set a background color of the same rectangle with:
[UIColor colorWithHue:0.10 saturation:0.16 brightness:0.13 alpha:1.00];
the thing is that the HSL color looks nothing like the RGB color. I compared my conversion result against an online converter and it looks OK as far as I can tell.
I am most likely interpreting something incorrectly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
UIColor 函数使用与 HSL 不同的 HSB。
The UIColor function applies HSB which is different to HSL.
正如多米尼克指出的,你混淆了 HSB/HSV 和 HSL。
在这里您可以找到用于转换为 HSB 的 UIImage 的类别
编辑
该链接现在指向我从该代码创建的要点。我在另一个 github 项目 中找到了它。
As Dominik pointed out, you mixed up HSB/HSV and HSL.
Here you'll find as Category for UIImage for converting to HSB
edit
The link now directs to a gist I created from that code. I found it in another github project.
这是 Drupals 颜色函数的开源混合物 + 一些不同的程序员将工作混合成一个函数,拥有 RGB > HSL 和回来。它工作完美。
Here is an open source mixture of Drupals color functions + some various programmers work mixed into one single function boasting RGB > HSL and back. It works flawlessly.