PHP - 已调整大小的图像具有更大的文件大小

时间:2011-07-19 11:11:23

标签: php gd

有没有人为此工作?我认为图像已经过优化。它然后得到了调整大小,它放弃了它的优化,尽管图片缩小了。文件大小增加。

以前有人遇到过这个。

我的图像以50%的质量保存。如果我复制 - >调整大小 - >保存在70%,它增加80Kb ..

是否有一种解决方案可以让我在图像进入前检测图像的质量?

function resize($width,$height) {
    $new_image = imagecreatetruecolor($width, $height);

    imagesavealpha($new_image, true);
    $trans_colour = imagecolorallocatealpha($new_image, 0, 0, 0, 127);
    imagefill($new_image, 0, 0, $trans_colour); 

    imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
    $this->image = $new_image;
}

...

imagejpeg($this->image,$filename,$compression);

2 个答案:

答案 0 :(得分:0)

从技术上讲,转换的质量率不是来自jpeg数据,它只是告诉转换器在尺寸和质量之间做出权衡。

某些转换器会将其存储在JPEG标头的EXIF数据中,因此如果仍然存在,则可以将其与exif_read_data一起使用,并查看是否返回了压缩信息。

答案 1 :(得分:-1)

只需使用其他调整大小的脚本即可。 http://www.google.nl/search?q=resize+script&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:nl:official&client=firefox-a

很多脚本编写得很好。