Page Actions
Wiki Actions
User Actions
Submit This Story

用ImageMagick获取颜色值

看了一部分ImageMagick官方范例,用convert命令的txt:转换可以把点阵图片转换成文本文件,其中包含了每一个像素的颜色信息。包括:

  • 坐标
  • 颜色RGB值
  • 颜色code

例子

例如这张ImageMagick自带的玫瑰:玫瑰 处理命令:

rosehead.sh
convert rose: txt:- | head 7

输出结果:

# ImageMagick pixel enumeration: 70,46,255,rgb
0,0: ( 48, 47, 45)  #302F2D  rgb(48,47,45)
1,0: ( 50, 48, 46)  #32302E  rgb(50,48,46)
2,0: ( 54, 50, 47)  #36322F  rgb(54,50,47)
3,0: ( 56, 51, 46)  #38332E  rgb(56,51,46)
4,0: ( 58, 51, 45)  #3A332D  rgb(58,51,45)
5,0: ( 57, 50, 45)  #39322D  rgb(57,50,45)

而要取某位置的颜色,则可以结合-crop操作来完成,处理命令:

getByPixel.sh
convert rose: -crop 1x1+12+18 txt:-

输出结果:

# ImageMagick pixel enumeration: 1,1,255,rgb
0,0: (135,127,196)  #877FC4  rgb(135,127,196)

这样的文本可以转换回图片。如果要刨去不需要的信息:

getColorByPixel.sh
convert rose: -crop 1x1+12+18 txt:- | egrep -o '#[A-Z0-9]+'

输出就是

#877FC4

Discussion

Enter your comment
 
 
blog/2010/02/imagemagick_pixelcolor.txt · Last modified: 2010/02/06 07:24 by MeaCulpa     Back to top
Recent changes RSS feed Creative Commons License Powered by PHP Driven by DokuWiki