magickwand for php,Centos 下编译PHP图片扩展库 ImageMagick、MagickWandForPHP、imagick

安装环境说明:

操作系统: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模块是否安装成功 )

bVm8O5

bVm8O6

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

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');

缩放前的原图

bVm8Qm

缩放后

bVm8Qn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值