2017-05-13 21 views
1

正如标题所述,我试图制作一个脚本来读取图像,无关紧要,并将转换将图像转换为十六进制代码列表。例如,具有交替白色和黑色像素的8x8 PNG图像将被转换为:试图使用Imagemagick将RGB图像转换为十六进制代码列表,每个像素

FFFFFF 
000000 
FFFFFF 
000000 
FFFFFF 
000000 

依此类推。到目前为止,我已尝试以下方法:

convert $name.png -compress none pnm:- 

但是,上述代码仅返回常规数字而非十六进制值。这里有一个例子:

205 0 0 205 0 0 205 0 0 205 0 0 205 0 0 205 0 0 224 160 0 224 160 0 224 160 0 

出了什么错在这里,我会做它什么样的变化,使其输出的十六进制代码?

+0

不知道您的个人资料页面是非常合适的。 –

回答

1

你可以使用ImageMagick的对文件进行解码,以原始的RGB值和十六进制XXD将它们分组,并显示:

convert yourImage.png rgb:- | xxd -g3 

我用-g3来组成三个f或RGB文件,如果存在alpha /透明层:

convert yourImage.png rgba:- | xxd -g4 

你可能会喜欢xxd使用其他开关是:

xxd -g3 -c15 # 15 bytes per line, good if you have 5 pixels of 3 bytes each, so hex lines match image scanlines 

xxd -ps   # continuous output without offsets at start of lines 
相关问题