ImageMagick 介绍

ImageMagick 是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用 ImageMagick 你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。ImageMagick 的官网:http://www.imagemagick.org/,详细使用手册:http://www.imagemagick.org/Usage/

imagick 介绍

一个可以供PHP调用 ImageMagick 功能的PHP扩展,使用这个扩展可以使PHP具备和ImageMagick相同的功能。imagick 官网:http://pecl.php.net/package/imagick

ImageMagick 安装

1
2
3
4
5
tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.8.9-7
./configure --prefix=/usr/local/ImageMagick/ --enable-lzw --with-modules --with-quantum-depth=8?--enable-shared --disable-openmp
make && make install

编译安装过程时间比较长,请耐心等待!

安装完成后执行:/usr/local/ImageMagick/bin/convert logo: logo.gif 测试一下 ImageMagick 是否可以正常运行,如果没有提示任何错误,然后检查执行命令时所在的目录,看看是否生成了logo.gif 这个文件。

也可以在安装完成后,运行convert -version命令检测,应该会出现类似下面内容的信息:

1
2
<p>Version: ImageMagick 6.8.9-7 Q8 x86_64 2014-08-20 http://www.imagemagick.org<br>
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC</p>

convert默认安装到了/usr/local/ImageMagick/bin下面,上面的命令可能提示找不到convert命令,那么可以在/usr/bin下面创建一个到/usr/local/ImageMagick/bin/convert的链接:

1
2
cd /usr/bin
ln -s /usr/local/ImageMagick/bin/convert convert

ImageMagick安装说明

1、在安装时也可以加入–without-xxx来禁止一些选项,具体的就 ./configure –help | grep without来查看有哪些吧;

2、关于Q8,Q16,Q32的说明:

3、–enable-shared 编译成共享库;

4、–disable-openmp 禁用多线程,使用多线程性能并没有提高,但CPU占用达到了100%,所以禁用;

5、卸载命令:make uninstall。

PHP扩展imagick安装

1
2
3
4
5
6
tar zxvf imagick-3.1.2.tgz
cd imagick-3.1.2
phpize? //每个服务器位置不一样
./configure --with-php-config=/你的php路径/php-config --with-imagick=/usr/local/ImageMagick/
make && make install

imagick安装执行结果

1
2
Installing shared extensions:???? /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files:????????? /usr/local/php/include/php/

生成imagick.so到/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/,然后手动配置php.ini使其生效,手工在php.ini里面添加上imagick扩展,extension=imagick.so,重启php,检查phpinfo,看是否加载成功,该扩展不是使用–with-imagick在编译PHP的时候静态编译进PHP,而是类似memcache的方式,编译成so模块动态加载的。

imagick无法安装时的解决办法

有时安装imagick是会提示:

1
“configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.”

这是因为只安装了“ImageMagick”而没有安装“ImageMagick-devel”,通过下面的命令行安装ImageMagick-devel,然后重新按上面的步骤安装imagick就好了。

1
yum install ImageMagick-devel

Discuz!X上的ImageMagick设置

登录Discuz!X后台,在“上传设置”里选择ImageMagick,并在ImageMagick程序安装路径写上:/usr/local/ImageMagick/bin/

关闭多线程

单线程转换每张图片大概50ms,两个线程却需要500ms?

用convert –version命令查看,看是否出现openMP字样,出现的话,是因为机器不支持openMP导致的,需要重新编译./configure –disable-openmp,再进行安装。

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: 在Linux下安装 ImageMagick 和 imagick http://www.chhua.com/web-note5323

随机笔记

更多