假设我有一种 HSB 格式的颜色120,100,100
,我想获取其对应的十六进制代码,即00FF00
。
是否可以使用 ImageMagick 实现此目的?也许是这样的:
Magick "hsb(120, 100%, 100%)"
并在终端输出如下内容:
00FF00
答案1
有点,有一个解决方法:
magick xc:hsb(120,100%,100%) -depth 8 txt:
这基本上创建了一个具有给定颜色的单个像素的画布,并设置深度为适当的值 - 在本例中为 8 位 - 以便输出中的十六进制为您想要的格式:
# ImageMagick pixel enumeration: 1,1,0,255,srgb
0,0: (0,255,0) #00FF00 lime
您还可以设置色彩空间例如RGB
取决于您究竟需要什么类型的十六进制值。
虽然不是最舒服的方式,但出于好奇,我寻找了一个真正的 CLI 颜色转换工具,并惊讶地发现并没有太多这样的工具,色彩转换器是我发现的最佳替代方案,但它似乎不支持 6 个字符的十六进制格式。