ImageMagick简单介绍
在Linux下,Gimp的图片处理能力固然很强大,但它是基于图形界面的,用户有时需要在命令行模式处理对一些图片进行处理,这时可就得请求ImageMagick的帮助了!
ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋 转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。其全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它可以运行于 大多数的操作系统。最为重要的是,ImageMagick的大多数功能的使用都来源于命令行工具。
ImageMagick的命令行工具包括:
ImageMagick擅长令行工具来处理图片,可能你已经习惯每次编辑图片都使用具有图形用户接口(GUI)的编辑工具,就像GIMP和 PhotoShop一样。 然而,一个图形用户接口不总是方便的。 假如你想要从一个网页动态地处理一个图像,或者你在不同时间生成一样的或不同的图像,想要对许多图像或重复特定应用相同的操作。 对于操作的这些类型,处理公用程序命令行工具是一个好的选择。
[ convert | identify | mogrify | composite | montage | compare | display | animate | import | conjure ]
下面对每个命令行工具做一下简短的描述,如果想获得更多详细信息,请阅读它们的帮助文档:
- convert:转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。
- identify:描述一个或较多图像文件的格式和特性。
- mogrify:按规定尺寸***一个图像,模糊,裁剪,抖动等。Mogrify改写最初的图像文件然后写到一个不同的图像文件。
- composite:根据一个图片或多个图片组合生成图片。
- montage:创建一些分开的要素图像。在含有要素图像任意的装饰图片,如边框、结构、图片名称等。
- compare:在算术上和视觉上评估不同的图片***其它的改造图片。
- display:如果你拥有一个X server的系统,它可以按次序的显示图片
- animate:利用X server显示动画图片
- import:在X server或任何可见的窗口上输出图片文件。 你可以捕获单一窗口,整个的荧屏或任何荧屏的矩形部分。
- conjure:解释执行 MSL (Magick Scripting Language) 写的脚本。
下面通过一个简单示例对增加一点感性认识:
表示:把1.jpg先从左上角(0,0)为起点裁剪一块300x300的部分,然后把这部分缩小到200x200,然后把颜色缩减到100色,最后生成1.png。
convert -crop 300x300+0+0 -resize 200x200 -colors 100 +profile "*" 1.jpg 1.png
+profile "*": 意味着在图片文件里不存储附加信息,以减小图片体积。
注意,-resize会试图保留原图的视觉比例,因此不一定生成的图片和你指定的尺寸一定匹配,比如,如果2.jpg大小是400x200,所以如果用命 令:convert 2.jpg -resize 100x100 2.png,那么生成的图片2.png的实际大小是100x50。
常用的参数有:
- -crop 宽x高+起点横坐标+起点纵坐标:裁剪图
- -resize 宽x高!:改变尺寸,如果使用惊叹号,表示不保留视觉比例,强行改变尺寸匹配给定的宽和高;如果仅给定宽或者高,如“宽x”或“x高”形式的参数(“x高”与“宽x高”的效果是一样的),则以已知参数为基准按比例改变尺寸。
- -colors 颜色数:设定图片采用的颜色数,如果是生成png或gif图片应指定这个参数
- -quality 质量:设定jpeg图片输出质量,推荐采用80,此命令仅用于输出格式是jpg的情况,不应省略,省略的话默认质量是95,生成图片过大
- +profile "*":图片中不存储附加信息,必须使用,否则生成图片过大