编译安装GraphicsMagick及php扩展gmagick

GraphicsMagick介绍

GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装、GM更有效率、GM的手册非常丰富GraphicsMagick的命令与ImageMagick基本是一样的。

GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88中图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。

通过使用OpenMP可是利用多线程进行图片处理,增强了通过扩展CPU提高处理能力。

GraphicsMagick可以再绝大多数的平台上使用,Linux、Mac、Windows都没有问题。

GraphicsMagick支持大图片的处理,并且已经做过GB级别的图像处理实验。GraphicsMagick能够动态的生成图片,特别适用于互联网的应用。可以用来处理调整尺寸、旋转、加亮、颜色调整、增加特效等方面。GaphicsMagick不仅支持命令行的模式,同时也支持C、C++、Perl、PHP、Tcl、Ruby等的调用。

1. 安装GraphicsMagick

  1. wget http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.18/GraphicsMagick-1.3.18.tar.gz
  2. tar -zxf GraphicsMagick-1.3.18.tar.gz
  3. cd GraphicsMagick-1.3.18/
  4. ./configure --prefix=/usr/local/gmagick --enable-shared
  5. make -j4
  6. make install
  7. cd ..

说明:如果编译不通过可以加上--disable-openmp参数

2 安装GraphicsMagick之php扩展gmagick

a). 下载并安装

  1. wget http://pecl.php.net/get/gmagick-1.1.4RC1.tgz
  2. tar -zxf gmagick-1.1.4RC1.tgz
  3. cd gmagick-1.1.4RC1/
  4. phpize
  5. ./configure --with-gmagick=/usr/local/gmagick/
  6. make -j4
  7. make install

b). 添加到php.ini并重启php-fpm或apache

  1. vi /etc/php.ini
  2. # 末尾追加
  3. [gmagick]
  4. extention = gmagick.so
  5. # 重启php
  6. service php-fpm restart

编译说明

当前我的php安装路径是/usr/local/php。并且添加了环境变量:/usr/local/php/bin,添加方法:(根据你的路径来)

  1. echo PATH=$PATH:/usr/local/php/bin/ >> /etc/profile
  2. source /etc/profile

如果未添加环境变量,或多版本php装扩展,可以使用全路径式:

  1. /usr/local/php/bin/phpize
  2. ./configure --with-php-config=/usr/local/php/bin/php-config --with-gmagick=/usr/local/gmagick/

GraphicsMagick命令常用方法

1. 显示图像文件详细信息

gm identify a.jpg

2.更改当前目录下*.jpg的尺寸大小,并保存于目录.thumb里面

gm mogrify -output-directory .thumbs -resize 320×200 *.jpg

3. 将三幅图像和并为一副图像

gm montage -mode concatenate -tile 3×1 image1.ppm image2.ppm image3.ppm concatenated.miff

4. 显示图像

gm display ‘vid:*.jpg’

5. 格式转换

gm convert a.bmp a.jpg

gm convert a.bmp a.pdf(转换为pdf)

6. 调整图像dpi和大小

gm convert -density 288 -geometry 25% image.gif image.gif

(缩小为原先的1/4,并且dpi为288)

gm convert -resize 640×480 image.gif image.gif

(转换为640×480的图像)

7. 在图像上添加文字

gm convert -font Arial -fill blue -pointsize 18 -draw “text 10,10 ‘your text here’” test.tif test.png

8. 从gif文件中抽取第一帧

gm convert “Image.gif[0]” first.gif

9. 建立gif图像

gm convert -delay 20 frame*.gif animation.gif

gm convert -loop 50 frame*.gif animation.gif

(让动画循环50次)

gm convert -delay 20 frame1.gif -delay 10 frame2.gif -delay 5 frame3.gif animation.gif

(对每一帧手动指定延时)

10. 截屏

gm import a.jpg

用鼠标点击所要截取的窗口,或者选择截屏区域,保存为a.jpg

gm import -frame a.jpg

保留窗口的边框