imagick图片处理

        ImageMagick是一个免费的建立、编辑、合成图片的软件。它能够读取、转换、写入多种格式的图片。图片切割、颜色替换、各类效果的应用,图 片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。其所有源码开放,能够自由使用,复制,修改,发布。它遵照GPL许可协议。它能够 运行于大多数的操做系统。算法

最为重要的是,ImageMagick的大多数功能的使用都来源于命令行工具。chrome

ImageMagick、GraphicsMagick的命令概览ide

----------------------------------------------------------------------------工具

[ 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) 写的脚本。
动画

示例一:综合操做(ImageMagick命行)spa

  1. convert -crop 300x300+0+0 -resize 200x200 -colors 100 +profile "*" 1.jpg 1.png  操作系统


处理过程解释:

一、把当前目录1.jpg图片文件,从左上角(0,0)坐标为起点,裁剪一块300x300像素的部分。命令行

二、而后把这部分缩小到200x200像素。server

三、而后把颜色缩减到100色。
四、+profile "*"   , 意味着在图片文件里不存储Exif信息,以减少图片体积。

五、最后生成1.png,保存在当前目录。


注意:-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 "*":图片中不存储Exif信息,必须使用,不然生成图片过大

示例二:生成缩略图(ImageMagick命令行)----------------------------------------------------------------------------


  1. convert -sample 80x40 input.jpg output.jpg   (使用一个简单的算法生成缩略图,速度快,画质较低,适合生成100x100如下的图片)  

  2. convert -resize 100x100 foo.jpg thumbnail.jpg (画质好)  

  3. convert -resize 50%x50% foo.jpg thumbnail.jpg  

  4. convert -resize 100x200 22.jpg(图片路径)   11.jpg(缩放后存放路径)   图片按比例缩放  

  5. convert -resize 100x200\! 22.jpg(图片路径)   11.jpg(缩放后存放路径)   强制按给定的宽高缩放 

示例三:裁剪图片(ImageMagick命令行)----------------------------------------------------------------------------

convert -crop  100(长)x200(高)+10(x坐标)+10(y坐标)   22.jpg(源图片路径)   11.jpg(缩放后存放路径)

示例四:旋转图像  (ImageMagick命令行)----------------------------------------------------------------------------

  1. convert -rotate 90 input.jpg output.jpg 

示例五:获取文件信息 (ImageMagick命令行)---------------------------------------------------------------------------

  1. libtiff tiffinfo filename.tiff 

示例六:把图片变为黑白颜色

  1. convert -monochrome foo.png bar.png 

添加图片水印处理(ImageMagick命令行)
--------------------------------
假设把名为logo.gif的水印图标添加在原始图片(src.jpg)右下角,且水印的下边缘距原始图片10像素、右边缘距原始图片5像素。使用以下命令便可:

  1. convert src.jpg logo.gif -gravity southeast -geometry +5+10 -composite dest.jpg  

添加英文文字水印  (ImageMagick命令行)

-----------------------------------------------------
convert  -fill white -pointsize 24 -draw "text 10,15 'lifesinger 2006' "  1.png  2.png

文字坐标在:10x50的位置
能够用-font指定字体,这时须要安装Ghostscript支持。

若是安装IM、GM时,没有安装Ghostscript字体,会默认使用Linux系统的字体,目录是:/usr/share/fonts/default/Type1/


添加中文文字水印 (ImageMagick命令行)

-----------------------------------------------------

高版本的ImageMagick的方法

-------------------

convert -font C:\ImageMagick\font\fangzheng.ttf  -fill green -pointsize 40 -draw "text 10,50 '文字'" d:\bagImg\21.jpg d:\bagImg\22.jpg

参数说明: -font C:\ImageMagick\font\fangzheng.ttf    是指明Windows字体文件。

要高版本的ImageMagick同,在加中文文字水印时才不乱码。

相关文章
相关标签/搜索