php使用imagick进行图像处理

一、ImageMagick介绍

  ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。它提供多种语言的api接口。其中包含php接口。

 

 

二、安装ImageMagick

    官网http://www.imagemagick.org/script/install-source.php描述了在同操作系统下的安装。我使用的是centos,所以下载源代码包 。

    wget  http://www.imagemagick.org/download/ImageMagick.tar.g

     tar -xzvf ImageMagick.tar.gz

     cd ImageMagick-6.7.8-5 

    ./configure --prefix=/usr/local/imagemagick --enable-shared

    make && make install

   执行 /usr/local/imagemagick/bin/convert,如果出现一堆东西那证明安装成功

  注意如果之前安装的版本比较旧的话需要卸载掉。进入安装目录执行 make uninstall make clean make distclean,然后重新安装最新的版本

三、安装php扩展

     到pecl.php.net下载源代码包。地址http://pecl.php.net/package/imagick

     我下载最近版的3.1.0RC2,但是这里就有问题,make的时候一直报错,坑爹啊。最后我下了个旧版本,2.3的,一切ok

    wget http://pecl.php.net/get/imagick-2.3.0.tgz

    tar -xzvf imagick-2.3.0.tgz

    cd imagick-2.3.0

    phpize

    ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick

    make && make install

    最后修改下php.ini,然后写个demo。大功告成

    

  四、demo

    

<?php
    set_time_limit(0);
    header('Content-type:image/jpeg');
    $image = new Imagick('image/1.JPG');
    $image>adaptiveResizeImage(400,300,True);
    echo $image;
?>

结果会输出一张400*300的图片

原文地址:https://www.cnblogs.com/sky20081816/p/2624001.html