ImageMagick是在linux系统中一个免费的创建、编辑、合成图片的开源软件。它可以读取、转换、写入、切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转多种格式。
1.系统必须安装jpg,png,zlib库文件
[root@node1 ~]# yum install libpng libpng-devel libjpeg libjpeg-devel zlib zlib-deve perl prel-devel freetype freetype-devel ghostscript ghostscript-devel -y
2.下载安装ImageMagick
[root@node1 ~]# wget http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz
[root@node1 ~]# tar xvf ImageMagick-6.4.0-0.tar.gz
[root@node1 ~]# cd ImageMagick-6.4.0
[root@node1 ImageMagick-6.4.0]# ./configure --prefix=/usr/local/ImageMagick-6.4.0 --enable-shared
ZLIB --with-zlib=yes yes --这三个扩展必须是yes,否则转换图处理会报错
JPEG v1 --with-jpeg=yes yes
PNG --with-png=yes yes
Ghostscript None gs (8.70) --必须启用,否则合并图会报错
[root@node1 ImageMagick-6.4.0]# make && make install
[root@node1 ImageMagick-6.4.0]# cd /usr/local/ImageMagick-6.4.0/bin
[root@node1 bin]# vim /etc/ld.so.conf.d/ImageMagick.conf
include /usr/local/ImageMagick-6.4.0/lib --添加一行
[root@node1 bin]# ll
total 328
-rwxr-xr-x 1 root root 25599 Nov 27 11:12 animate --动画图像序列
-rwxr-xr-x 1 root root 26719 Nov 27 11:12 compare
-rwxr-xr-x 1 root root 25611 Nov 27 11:12 composite
-rwxr-xr-x 1 root root 25599 Nov 27 11:12 conjure
-rwxr-xr-x 1 root root 27904 Nov 27 11:12 convert --图片转换,裁剪
-rwxr-xr-x 1 root root 25599 Nov 27 11:12 display --显示图像
-rwxr-xr-x 1 root root 26721 Nov 27 11:12 identify --显示一个或多个图像的格式和特点
-rwxr-xr-x 1 root root 25597 Nov 27 11:12 import
-rwxr-xr-x 1 root root 1365 Nov 27 11:12 Magick-config
-rwxr-xr-x 1 root root 1408 Nov 27 11:12 Magick++-config
-rwxr-xr-x 1 root root 1373 Nov 27 11:12 MagickCore-config
-rwxr-xr-x 1 root root 1378 Nov 27 11:12 MagickWand-config
-rwxr-xr-x 1 root root 25599 Nov 27 11:12 mogrify --修改图片
-rwxr-xr-x 1 root root 25599 Nov 27 11:12 montage --创建分开的图片
-rwxr-xr-x 1 root root 25597 Nov 27 11:12 stream
-rwxr-xr-x 1 root root 1360 Nov 27 11:12 Wand-config
[root@node1 bin]#
3.举例说明
(1)查看图片信息
[root@node2 bin]# ./identify 2.png --查看图片信息
2.png PNG 200x150 200x150+0+0 DirectClass 16-bit 21.3379kb
(2)修改图片大小
[root@node2 bin]# ./mogrify -resize 50x50 2.png
[root@node2 bin]# ./identify 2.png
2.png PNG 50x38 50x38+0+0 DirectClass 16-bit 10.6973kb
[root@node2 bin]#
(3)三个图片合并成一个图片
[root@node2 bin]# ./montage -mode concatenate -tile 3x1 2.jpg 2.png 3.ico 4.jpg
(4)图片格式转换
[root@node2 bin]# ./identify 4.jpg
4.jpg JPEG 750x375 750x375+0+0 DirectClass 8-bit 51.375kb
[root@node2 bin]# ./convert 4.jpg 4.png
[root@node2 bin]# ./identify 4.png
4.png PNG 750x375 750x375+0+0 DirectClass 8-bit 365.721kb
[root@node2 bin]#
(5)在图片上添加文字
[root@node2 bin]# ./convert -draw 'text 0,0 "111111"' 2.png 5.png --text是位置