如果我只是做一些线性变换,结果仍然不合适;在感觉上,红色占据了太多的角度,而黄色则不够。即使我稍作改动并尝试使用非线性多项式梯度,也很难获得正确的“扩展”:
是否存在“官方”将HSV色相角映射到RYB色相角的函数?
更新:阅读此书可得出一些想法,但是由于Adobe的RYB色轮,关于排除青色的部分使我更加困惑:这是真正的RYB还是它色相角在蓝色范围内偏移的CMY?
#1 楼
我刚刚发现Adobe色彩源包括HSV-RYB色调映射功能(在Ben Knight的Kuler-d3中已复制)。显然,Adobe使用分段线性渐变,而不是我尝试使用的多项式(我相信,从技术上讲,它是CMY轮而不是RBY轮)。以下是相关的停靠点:RYBstop HSVstop
60 35
122 60
165 120
218 180
275 240
330 300
以下是显示感知映射的图表:
因此,在贴图功能不平滑的交界处会出现伪像(可以在原始Adobe图像中看到)。这是用于创建色轮的imagemagick脚本。
#!/bin/bash
#assemble gradient pieces (pre-caculated stops), then join them all
convert -size 600x300 gradient:#000000-#181818 -rotate -90 grad1.png
convert -size 600x310 gradient:#181818-#2A2A2A -rotate -90 grad2.png
convert -size 600x215 gradient:#2A2A2A-#555555 -rotate -90 grad3.png
convert -size 600x265 gradient:#555555-#7F7F7F -rotate -90 grad4.png
convert -size 600x285 gradient:#7F7F7F-#AAAAAA -rotate -90 grad5.png
convert -size 600x275 gradient:#AAAAAA-#D4D4D4 -rotate -90 grad6.png
convert -size 600x150 gradient:#D4D4D4-#FFFFFF -rotate -90 grad7.png
convert grad?.png +append grad.png
#create hue
convert grad.png -alpha set -virtual-pixel Transparent -rotate 180 -distort Arc '360 -90 300' +repage -gravity center -crop 600x600+0+0 +repage h.png
#create saturation
convert -size 600x600 -alpha on radial-gradient:white-none s.png
#create value
convert -size 600x600 -alpha on radial-gradient:none-white v.png
#combine h,s,v in hsv colorspace
convert h.png s.png v.png -combine -set colorspace HSV -colorspace sRGB ryb.png