给出一种颜色的RGB数值,怎么算出对应的色相h的值?这有严格的公式。
工具/原料
1
电脑
2
Mathematica
方法/步骤
1
转换函数如下图:
2
先画一个RGBColor[{1,1/2,0}]的圆盘:c = {1, 1/2,0}; Graphics[{RGBColor[c], Disk[]}]
3
把第二幅图的颜色替换为色相:Graphics[{Hue[h[c]/360], Disk[]}]可以看到,色彩看起来一样。
4
如果换一个RGB颜色:c = {1, 1/2, 1/3};看起来就不一样了。这是怎么回事?
5
这是因为色彩的饱和度和亮度可能不相同。RGB转化为饱和度的函数如下图:
6
而亮度,则用{R,G,B}的最大值来表示。再看下面的图:
7
再试试:c = {1/5, 1/2, 1/3};
上一篇:PS怎么用色相改变物体颜色