干货,PHP如何最优化实时压缩图片

2022-10-11 20:39:34 130 0
魁首哥

PHP建图通常都用GD库,因为是内置的不需要在服务器上额外安装插件,所以用起来比较省心,但是如果你的程序主要的功能就是处理图像,那麼就不建议用GD了,因为GD不但低效能而且能力也比较弱,占用的系统资源也颇多。

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

干货,PHP如何最优化实时压缩图片

示例如下:

$width = $height = 100;

$im = new Imagick();

$im->readImage($images);

//按照比例进行缩放

$im->unsharpMaskImage(0,1,2,0.03);

$im->thumbnailImage($width,$height);

$srcWH = $im->getImageGeometry(); //获取源图片宽和高

// 按照缩略图大小创建一个有颜色的图片

$new_img= new Imagick();

$new_img->newImage( $srcWH[‘width’], $srcWH[‘height’], ‘white’, ‘ jpg ‘ );

//合并图片

$new_img->compositeImage( $im, imagick::COMPOSITE_OVER, 0, 0);

/*//生成图片

$new_img->setImageFileName($target_img);

$new_img->writeImage(); */

//输出图片

header(“Content-Type:image/jpeg”);

echo $new_img;

收藏
分享
海报
0 条评论
130
上一篇:轻量现代设计风格的ICT资产管理系统(php版) 下一篇:PHP递归实现层级树状展开的方法

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码