GraphicsMagick用法及安装,php扩展gmagick

日期 2014年04月19日 14:38

分类 PHP

标签

浏览 10016

字数统计: 2650(字)

本文发布于 10 年前, 内容可能已经过时或失效!

文章目录

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

wget http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.38/GraphicsMagick-1.3.18.tar.gz
tar -zxf GraphicsMagick-1.3.18.tar.gz 
cd GraphicsMagick-1.3.18/
./configure --prefix=/usr/local/gmagick --enable-shared
make -j4
make install
cd ..

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

2 安装GraphicsMagick之php扩展gmagick

a). 下载并安装

wget http://pecl.php.net/get/gmagick-1.1.4RC1.tgz
tar -zxf gmagick-1.1.4RC1.tgz 
cd gmagick-1.1.4RC1/
phpize
./configure --with-gmagick=/usr/local/gmagick/
make -j4
make install

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

vi /etc/php.ini

# 末尾追加
[gmagick]
extention = gmagick.so

# 重启php
service php-fpm restart

编译说明

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

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

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

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

GraphicsMagick命令常用方法

  1. 显示图像文件详细信息
gm identify a.jpg
  1. 更改当前目录下*.jpg的尺寸大小,并保存于目录.thumb里面
gm mogrify -output-directory .thumbs -resize 320×200 *.jpg
  1. 将三幅图像和并为一副图像
gm montage -mode concatenate -tile 3×1 image1.ppm image2.ppm image3.ppm concatenated.miff
  1. 显示图像
gm display "vid:*.jpg"
  1. 格式转换
gm convert a.bmp a.jpg
gm convert a.bmp a.pdf(转换为pdf)
  1. 调整图像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的图像)

  1. 在图像上添加文字
gm convert -font Arial -fill blue -pointsize 18 -draw "text 10,10 ‘your text here’" test.tif test.png
  1. 从gif文件中抽取第一帧
gm convert "Image.gif[0]" first.gif
  1. 建立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

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

  1. 截屏
gm import a.jpg

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

gm import -frame a.jpg

保留窗口的边框