我有一些基于66种颜色的地图,不幸的是几个月前我以jpg格式保存了这些地图。
我发现我可以将其转换为png,并将其设置为66种颜色,但是仍然可以预定义这66种颜色,例如,接近#888888的颜色将转换为#888888而不是878787和878887。
一个问题是,地图不包含全部66种颜色(通常为30种左右),所以现在我可能会得到4种不同类型的白色。(这就是为什么我需要此解决方案)
imagemagick甚至可以做到吗?
您可以通过拍摄原始的PNG图像之一并提取独特的颜色来制作所需的66种颜色的66x1像素“样本”:
magick original.png -unique-colors swatch.png
然后,您可以像这样应用它:
magick unhappy.jpg -remap swatch.png result.png
更多细节在这里。
这是一个具体的例子。这是我们的地图:
首先,对我们要在输出图像中出现的5种颜色进行样例:
magick xc:"rgb(10,100,140)" xc:"rgb(240,190,120)" xc:"rgb(70,130,30)" xc:"rgb(220,230,230)" xc:"rgb(40,80,50)" +append swatch.png
现在,将原始颜色重新映射为色板中的5种颜色:
magick map.jpg +dither -remap swatch.png result.png
另外,我们可以让ImageMagick这样为色板选择最佳颜色:
magick map.jpg -colors 7 -unique-colors swatch.png
并重新映射与以前相同,但使用ImageMagick选择的颜色:
magick map.jpg +dither -remap swatch.png result.png
请注意,您可以使用相同的十六进制代码(或HSL或实验室颜色):
convert xc:"#0a658c" xc:"#f0be78" xc:"#46821e" xc:"#dce6e6" xc:"#285032" +append swatch.png
请注意,以上命令假定使用ImageMagick v7。如果您必须使用旧的v6语法,请替换magick
为convert
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句