首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Imagick和Gmagick调整大小后的图像文件大小

使用Imagick和Gmagick调整大小后的图像文件大小
EN

Stack Overflow用户
提问于 2011-11-02 17:17:49
回答 1查看 829关注 0票数 1

在调整图像大小时,我注意到Imagick和Gmagick在硬盘上使用相同的选项生成文件大小不同的图像:

代码语言:javascript
复制
$image = new Imagick("c.jpg");
$image->thumbnailImage(260,195); 
$image->writeImage("c_imagick.jpg");

输出88kb的图像

代码语言:javascript
复制
$image = new Gmagick("c.jpg");
$image->thumbnailImage(260,195); 
$image->writeImage("c_gmagick.jpg");

输出15kb的图像

有人知道为什么会有这么大的差异吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-04 00:19:26

请尝试在调整大小之前设置图像压缩设置。

代码语言:javascript
复制
     $image->setImageCompression(Imagick::COMPRESSION_JPEG);
     $image->setImageCompressionQuality(80);

此外,检查结果图像的大小。PHP文档中的注释使我相信,在IMagick中,thumbnailImage的自动调整部分并不像您期望的那样工作。

来自PHP文档:

thumbnailImage的fit功能并不像人们预期的那样工作。相反,使用>this来制作最大为200x82的缩略图:

//创建缩略图最大值200x82 $width=$im->getImageWidth();如果($width > 200) { $im->thumbnailImage(200,null,0);} $height=$im->getImageHeight();如果($height > 82) {$im->thumbnailImage(null,82);}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7977965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档