资讯专栏INFORMATION COLUMN

Centos 下编译PHP图片扩展库 ImageMagick、MagickWandForPHP、im

netmou / 2544人阅读

摘要:安装环境说明操作系统安装路径开始编译开始编译配置支持扩展修改以下内容增加扩展到重新启动开始编译配置支持扩展修改以下内容增加扩展到重新启动测试劳动结果查看模块是

安装环境说明:

操作系统:Centos 6.5 -64bit

安装路径:/usr/local/redis

开始编译 ImageMagick
tar -zxvf ImageMagick-6.8.9-10.tar.gz
cd ImageMagick-6.8.9-10
./configure 
make
make install 
开始编译 MagickWandForPHP
tar -zxvf MagickWandForPHP-1.0.9-2.tar.gz
cd MagickWandForPHP-1.0.9
/usr/local/php/bin/phpize 
./configure --with-php-config=/usr/local/php/bin/php-config --enable-shared --with-magickwand=/usr/local 
make 
make install 

配置PHP支持 MagickWandForPHP扩展

vim /usr/local/php/etc/php.ini

# 修改以下内容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"

# 增加扩展到php
extension = magickwand.so

重新启动php-fpm

/etc/init.d/php-fpm restart
开始编译 imagick
tar -zxvf imagick-3.1.2.tgz
cd imagick-3.1.2
/usr/local/php/bin/phpize 
./configure --with-php-config=/usr/local/php/bin/php-config 
make 
make install 

配置PHP支持 imagick扩展

vim /usr/local/php/etc/php.ini

# 修改以下内容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"

# 增加扩展到php
extension = imagick.so

重新启动php-fpm

/etc/init.d/php-fpm restart
测试劳动结果( 查看phpinfo模块是否安装成功 )

看到这两个模块,恭喜安装成功

PHP操作图片实例
/**
 * 等比例缩放图片
 */
function zoomImage800($imagepath, $saveImagPath)
{
    if (!is_file($imagepath))  throw new Exception("不存在的图像文件");

    $resource = NewMagickWand();
    MagickReadImage($resource, $imagepath);         // 读取图片到handle
    $width  = MagickGetImageWidth($resource);       // 得到宽
    $height = MagickGetImageHeight($resource);      // 得到高
    $dpi    = MagickGetImageResolution($resource);  // 得到分辩率数组
    MagickRemoveImageProfiles($resource);           // 去掉图片ICC信息
    MagickSharpenImage($resource,4,2);              // 图片锐化处理

    // MagickSetImageColorspace($resource,MW_RGBColorspace);    //设定图片模式为rgb

    $format = ".".pathinfo($imagepath, PATHINFO_EXTENSION);//得到文件格式
    //$format=strtolower(end(explode(".", $imagepath)));//得到文件格式

    //生成650x650图
    if ($width>500 ){               // 如果图片宽小于650就不改变的尺寸
        $newW=500;
        $newH=$height/$width*500;
        MagickResizeImage($resource, $newW, $newH, MW_LanczosFilter , 1.0);  //比MagickScaleImage 质量稍高
        // MagickScaleImage($resource, $newW, $newH);
    }else{
        $newW=$width;
        $newH=$height;
    }
    
    //写入图片
    MagickWriteImage($resource, $saveImagPath);
    ClearMagickWand($resource);
    DestroyMagickWand($resource);
}

# 使用实例
zoomImage800("images/01.jpg", "images/02_thumb.jpg");

缩放前的原图

缩放后

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21055.html

相关文章

  • Centos 下编PHP图片扩展 ImageMagick、MagickWandForPHPim

    摘要:安装环境说明操作系统安装路径开始编译开始编译配置支持扩展修改以下内容增加扩展到重新启动开始编译配置支持扩展修改以下内容增加扩展到重新启动测试劳动结果查看模块是 安装环境说明: 操作系统:Centos 6.5 -64bit 安装路径:/usr/local/redis 开始编译 ImageMagick tar -zxvf ImageMagick-6.8.9-10.tar.gz cd Ima...

    Labradors 评论0 收藏0
  • centos下编lnmp环境

    摘要:部署架设环境网卡绑定多个内网和外网下其实这部不用操作默认就是原来的内网配置原配置中的地址原配置的内网地址原配置原配置原配置添加规则内网 uclund 部署架设环境 cp /etc/resolv.conf /etc/resolv.conf.bak yum update -yyum -y install gcc gcc-c++ autoconf cmake libjpeg libg lib...

    tuomao 评论0 收藏0
  • centos下编lnmp环境

    摘要:部署架设环境网卡绑定多个内网和外网下其实这部不用操作默认就是原来的内网配置原配置中的地址原配置的内网地址原配置原配置原配置添加规则内网 uclund 部署架设环境 cp /etc/resolv.conf /etc/resolv.conf.bak yum update -yyum -y install gcc gcc-c++ autoconf cmake libjpeg libg lib...

    CoderStudy 评论0 收藏0

发表评论

0条评论

netmou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<