有什么方法可以绘制看起来平滑的色调渐变?
例如,看下面的图片:
在我的sRGB校准显示器上,我可以很清楚地看到在60、180和300°处看起来是三角形的“峰值”。同时,红色,绿色和蓝色之间的谷值似乎并没有发生太大变化,例如110°和130°之间的差异从视觉上讲很小。
我想做的是想出一种生成看起来更平滑的色调渐变的方法,其中的颜色似乎更加无缝地融合在一起。
有什么办法吗?它不需要是线性的色相渐变,所以我真的不在乎颜色实际出现在哪里,只要渐变的开始和结束都是红色(0°/ 360°)即可。
最佳答案
如果您阅读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
channel 。然后将这三个通道合并,并在输出文件中另存为sRGB。关于c++ - 绘制视觉上平滑的色调坡道?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39326852/