gpt4 book ai didi

bash - ImageMagick 如何输出十六进制颜色而不是 SRGB?

转载 作者:行者123 更新时间:2023-11-29 09:42:10 27 4
gpt4 key购买 nike

this question ,有人问如何以十六进制表示法获取图像的平均颜色。经过一番研究,我找到了一个使用 ImageMagick 的可行解决方案:

user@laptop:~$ convert rose: -scale 1x1\! -format '%[pixel:s]\n' info:-

问题是这会打印 srgb(146,89,80) 而不是所需的 #925950

我尝试阅读 -format 的文档,其中确实提到了 %[hex:] “东西”,但是当用 %[pixel:s] 替换 %[hex:s] 时>,我收到以下错误:

convert: unknown image property "%[hex:s]" @ warning/property.c/InterpretImageProperties/3678.

我还尝试阅读 FX Expressions 的文档,但我不知道如何将结果输出为十六进制代码而不是 SRGB。

最佳答案

您收到错误很可能是因为您的 ImageMagick 版本太旧。变更日志说:

2017-06-02 6.9.8-9 Cristy <quetzlzacatenango@image...>
Add support for 'hex:' property.

如果该版本或更高版本使用:

convert rose: -scale 1x1\! -format "%[hex:u]\n" info:
925950

convert rose: -scale 1x1\! -format "%[hex:s]\n" info:
925950

convert rose: -scale 1x1\! -format "%[hex:u.p{0,0}]\n" info:
925950

convert rose: -scale 1x1\! -format "#%[hex:u]\n" info:
#925950

convert rose: -scale 1x1\! -format "#%[hex:s]\n" info:
#925950

convert rose: -scale 1x1\! -format "#%[hex:u.p{0,0}]\n" info:
#925950

如果早一点,那么

convert rose: -scale 1x1\! txt: | tail -n +2 | sed -n 's/^.*[#]\(.*\) .*$/\1/p'
925950

convert rose: -scale 1x1\! txt: | tail -n +2 | sed -n 's/^.*\([#].*\) .*$/\1/p'
#925950

在询问有关 ImageMagick 命令的问题时,最好提供您的 ImageMagick 版本和平台,因为语法可能会有所不同,并且可能会添加新功能或修复错误。

关于bash - ImageMagick 如何输出十六进制颜色而不是 SRGB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47983587/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com