在调整图像大小时,我注意到Imagick和Gmagick在硬盘上使用相同的选项生成文件大小不同的图像:
$image = new Imagick("c.jpg");
$image->thumbnailImage(260,195);
$image->writeImage("c_imagick.jpg");输出88kb的图像
$image = new Gmagick("c.jpg");
$image->thumbnailImage(260,195);
$image->writeImage("c_gmagick.jpg");输出15kb的图像
有人知道为什么会有这么大的差异吗?
发布于 2011-11-04 00:19:26
请尝试在调整大小之前设置图像压缩设置。
$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);}
https://stackoverflow.com/questions/7977965
复制相似问题