让ImageMagick将所有颜色输出为十六进制

问题描述 投票:0回答:1

我希望identify -verbose myImage.jpg以十六进制格式输出所有颜色值。

我发现this answer,但它仅适用于单一颜色;例如:

$ identify -verbose -format '%[hex:u]\n' myImage.jpg 
F9CBA9

相比未指定格式:

$ identify -verbose myImage.jpg
Image: /home/rena/img/myImage.jpg
  Format: JPEG (Joint Photographic Experts Group JFIF format)
  Mime type: image/jpeg
  Class: DirectClass
  [...lots more info here...]
  Background color: white
  Border color: srgb(223,223,223)
  [...]
  Version: ImageMagick 7.0.9-5 Q16 x86_64 2019-11-18 https://imagemagick.org

我想要的是后者的输出,除了列出以十六进制列出的颜色的属性外,例如“ #FFFFFF”和“ #DFDFDF”而不是“ white”和“ srgb(223,223,223)”。

colors formatting imagemagick command-line-arguments
1个回答
1
投票

您可以使用txt:协议以文本格式写入所有像素信息,并将结果通过管道传输到cut实用程序。

magick myImage.jpg txt:- | cut -d ' ' -f 4

您还可以使用uniq删除重复的十六进制颜色条目。

magick myImage.jpg txt:- | cut -d ' ' -f 4 | uniq
© www.soinside.com 2019 - 2024. All rights reserved.