在PHP中对于图片处理我们常用的GD、ImageMagick 等等,常用的GD 有时GD无法满足我们的需求,下面我们讲讲 Centos 下安装 ImageMagick
简单介绍下 ImageMagick (来源百科)
ImageMagick是一套功能强大、稳定而且开源的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存,对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。同时ImageMagick提供了一个高质量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线
安装前准备
1. 安装目录
imagemagick
安装目录 /usr/local/imagemagick
php 模块 imagick
安装目录 /usr/local/imagick
2. 下载 ImageMagick 当前版本 6.3.2-9
下载地址:
http://www.imagemagick.com.cn/download/ImageMagick-6.3.2-9.tar.gz
3. 下载 PHP 的 imagick 模块,当前版本 3.4.1
下载地址:
wget http://pecl.php.net/get/imagick-3.4.1.tgz
安装 ImageMagick
1. 编译安装 ImageMagick
1.1 下载
wget http://www.imagemagick.com.cn/download/ImageMagick-6.3.2-9.tar.gz
1.2 解压
tar -zvxf ImageMagick-6.3.2-9.tar.gz
1.3 编译安装
cd ImageMagick-6.3.2-9
./configure --prefix=/usr/local/imagemagick
make
make 时候可能遇到的错误
Magick++/lib/Image.cpp:3925: error: 'atexit' was not declared in this scope
make: *** [Magick++/lib/Image.lo] 错误 1
原因:gcc 版本过高的不兼容老版本写法,解决办法
vi /usr/local/ImageMagick-6.3.2/Magick++/lib/Image.cpp
在 #define MAGICKCORE_IMPLEMENTATION 1 行下添加 #include <stdlib.h>,如下
#define MAGICKCORE_IMPLEMENTATION 1
#include <stdlib.h>
make install
2. 安装 PHP 的 imagick 模块
2.1 下载
wget http://pecl.php.net/get/imagick-3.4.1.tgz
2.2 解压
tar -zvxf imagick-3.4.1.tgz -C /usr/local/imagick
2.3 扩展动态编译到PHP
2.3.1
cd imagick-3.4.1
2.3.2
找到自己的 phpize,实在找不到就find下
/usr/local/webserver/php/bin/phpize
2.3.3
./configure --with-php-config=/usr/local/webserver/php/bin/php-config