Centos 安装配置ImageMagick
#ImageMagick版本必须大于6.4.9
yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel 自己去下imagemagick tar xfz ImageMagick.tar.gz && \ rm ImageMagick.tar.gz && \ cd ImageMagick* && \ ./configure --prefix=/usr --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes && \ make clean && \ make && \ sudo make install
查看版本
convert -version
Version:ImageMagick6.7.0-22011-06-21Q16http://www.imagemagick.org
Copyright:Copyright(C)1999-2011ImageMagickStudioLLC
Features:OpenMP
从中间裁切200x200正方形图片
convert 1.jpg -gravity center -extent 200x200 2.jpg
生成的图片最小的边要有500像素
convert 1.jpg -resize 500x500^ 2.jpg
合成一条,看看有多强大,你放张200x300左右的图片试下,这条命令将会将图片最小的边按比例强行扩大到500像素,再从正中央裁切200像素的正方式
convert 1.jpg -resize 500x500^ -gravity center -extent 200x200 2.jpg
给图片base.jpg在y100,x10的位置加上图片sy.png水印
composite -geometry +100+10 sy.png base.jpg finished.jpg
固定宽高缩放。
convert -resize 200x100! 1.jpg 2.jpg
说明:区别是宽高后面多了一个叹号,此时不管原图片比例如何,缩放后的图片大小都是200×100,这样就可能导致图片变形。注意:在linux环境对参数需要用单引号引起来,而windows下又不能使用单引号。
有条件缩放。可以通过>或<符号来控制原始图片是否进行缩放,例如在处理一批尺寸大小各异的图片,只想把尺寸大于给定的值图片才进行缩小,如果没有指定条件,可能会把那些小的图片进行了放大处理。
convert -resize "200x100>" 1.jpg 2.jpg
注解:只有当1.jpg的宽大于200或高大于100时候,才进行缩小处理,否则生成的2.jpg和1.jpg具有一样的尺寸。注意在linux下要用单引号替换成双引号,即'200x100>'。
convert -resize "200x100<" 1.jpg 2.jpg
注解:只有当1.jpg的宽小于200或高小于100时候,才进行放大处理,否则生成的2.jpg和src.jpg具有一样的尺寸。注意在linux下要用单引号替换成双引号,即'200x100<'
上述两种有条件缩放是按原始图等比例缩放的,也就是对符合条件的图片进行等比缩放。同时有条件缩放也可以与固定大小缩放联合起来用。例如如下命令。
convert -resize "800x100>!" 1.jpg 2.jpg
注解:假设1.jpg尺寸是300x200。很显然1.jpg的宽(200)是大于指定值宽(100),符合缩小的条件,由于执行的不是等比缩放,所以2.jpg的尺寸理论上是800x100,但是800是超过原始图片宽的,故1.jpg的宽只能是300
convert -resize "10x1000<!" 1.jpg 2.jpg
注解:假设1.jpg尺寸是300x200,1.jpg的宽(200)小于指定值宽(1000),因此该命令将执行放大图片操作,2.jpg的高将放到到1000,由于宽比原始图片还小,就用原始图片的宽,所以得到的2.jpg的尺寸是300x1000。