2024年4月28日发(作者:)

用ImageMagick命令行处理图片

ImageMagick是强大的图像处理工具,他的强大之处在于Linux与生俱来的命令行特性,基

于命令行的一系列工具可以让你完成、处理常见的图像操 作,诸如生成缩略图,缩放,查

看信息,加注标题,水印等等,功能上绝不亚于很多自诩出色GUI工具,学习使用

ImageMagick是有益的,至少可以体 会CLI的强大和简洁的行事风格。这里列举一些使用

ImageMagick的例子来说明如何在命令行界面下处理图像。

确信你的Linux装有ImageMagick的最快方法是

rpm -qi ImageMagick

(如果你的系统不是基于RPM的,请执行

display或animate命令,确保你是在X Windows环境下)

生成缩略图和缩放!

ImageMagick的convert命令简直是万能的!

生成缩略图,

convert -sample 100x20

上述命令生成一个100x20的缩略图

更好的方法是用等比例缩放,像这样,统一生成1/4的缩略图,

convert -sample 25%x25%

如果写成脚本,就是像这个样子,

for img in `ls *.jpg`

do

convert -sample 25%x25% ${img} thm${img}

done

这样可以对一个目录下的JPG文件一起生成缩略图了!

convert还可以直接用来生成图片,这个在一些特殊的时候有用,例如,可以用下面的命令

生成法国国旗图案,

convert -size 20x40 xc:red xc:white xc:blue +append

转化图像格式就更加方便,

convert

这就是Linux,简单直接!!

还有旋转,

convert -rotate 90

还有加注图片,

convert -font fonts/ -stroke color -fill color -pointsize size

-draw 'text 10,10 "String"'

-font 指定字体,因为这样我加注文字,

-stroke 描边用的颜色,

-fill 填充用的颜色,这里用none就可以画出空心字了,

-pointsize 加注字体大小,像素数,

-draw 是用来画,这里是文字,下面的位置10,10 是以图片左上角为原点坐标的。

convert还可以做出很多其他的艺术效果,这里不再详述,可以参见相关手册。

用convert给图片加边框

convert -raise 5x5

convert +raise 5x5

以上命令分别用-,+边缘颜色的来达到处理边缘的效果!

convert -bordercolor red -border 5x5

简单的加上5个像素宽的红边!

其他的边框会比这个复杂,包括参数mattecolor的使用等等,参见相关手册。

composite来组合图片,

例如,

composite –gravity SouthEast image_

图片底部是South,右边是East。

ImageMagick 包括一组命令行工具来操作图片。你大部份习惯每次编辑图片都提供图形用

户接口 (GUI) 编辑图像就像GIMP和PhotoShop一样。 然而,一个图形用户接口不总是方

便的。 假如你想要从一个网页动态地处理一个图像,或者你在不同时间生成一样的或不同

的图像,想要对许多图像或重复特定应用相同的操作。 对于操作的这些类型,处理公用程

序命令行工具是一个好的选择。

在下面的段落中,可以找到命令行工具的简单短描述。点击程序名称可以得到关于这个程序

的具体用法。 如果你想得到更多的关于ImageMagick,请仔细阅读以下命令行工具的使用

方法:

convert

转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,

生成缩略图等。

identify

描述一个或较多图像文件的格式和特性。

mogrify

按规定尺寸制作一个图像,模糊,裁剪,抖动等。Mogrify改写最初的图像文件然后写到一

个不同的图像文件。

composite

根据一个图片或多个图片组合生成图片。

montage