有没有办法画出看起来很光滑的色调渐变?
例如,请看下面的图片:
在我的sRGB校准显示器上,我可以非常清楚地看到在60,180和300°处出现的三角形“峰值”。同时,中间的红色,绿色和蓝色的山谷似乎没有那么大的改变 - 例如,110°和130°之间的差异在视觉上很少。
我想要做的是找出一种方法来生成一个看起来更加平滑的色调渐变,其中颜色似乎更加无缝地融合在一起。
有没有办法做到这一点?它不需要是线性色调斜坡,所以只要斜坡的开始和结束都是红色(0°/ 360°),我就不关心颜色实际上的位置。
答案 0 :(得分:2)
如果您阅读HCL
颜色空间(Wikipedia),您会发现它更符合人类对颜色的感知。安东尼·蒂森(Anthony Thyssen)的优秀笔记here也对此进行了讨论。
如果我在HSL色彩空间中制作色调渐变,在终端上使用 ImageMagick 命令:
convert -size 100x512 gradient: -rotate 90 \( +clone -fx "1" \) \( +clone -fx "0.5" \) -combine -set colorspace HSL result.png
我明白了:
然而,如果我在HCL
颜色空间中构建它,就像这样:
convert -size 100x512 gradient: -rotate 90 \( +clone -fx "1" \) \( +clone -fx "0.5" \) -combine -set colorspace HCL result.png
我得到了更平滑的坡道:
上面的 ImageMagick 命令只会创建一个黑白渐变,并将其用作H
频道,然后将其克隆并将其设置为" 1"制作C
频道并再次克隆并将其设置为" 0.5"制作L
频道。然后组合这三个通道并将其作为sRGB保存在输出文件中。
答案 1 :(得分:0)
这可以在不同的色彩空间中轻松完成:
HSV color space表示三重色调,饱和度和值的值。通过保持饱和度和值不变,在越过色调范围时,您将获得所请求的条形图。
维基百科和Algorithm to convert RGB to HSV and HSV to RGB in range 0-255 for both都解释了如何在hsv和传统的rgb(红色,绿色,蓝色)三元组之间进行转换。