PHP GD方法imagecopy比原始图像更大的图像文件大小

时间:2016-11-20 07:56:29

标签: php gd php-gd

在我的工作中,我使用PHP GD lib函数imagecopy为图像添加水印,但是发现生成的图像比之前的原始图像大,有没有办法优化文件大小,除了jpegoptim修剪exif元数据。

github上的测试代码:https://github.com/zeanwork/Watermark,你可以用exmaple测试,to.jpg文件大小比from.jpg和watermark.png文件大小

enter image description here

file mediainfo

enter image description here

但是我不希望带有水印的图像比原始文件大得多,在我的测试中,to.jpg文件大小有时是原始图像的4倍

减少文件大小的最佳方法?

1 个答案:

答案 0 :(得分:2)

它的图像质量,但是,即使你只是将一个jpg图像复制到另一个,我也不认为可以有相同的JPEG图像尺寸。 Watermark确实以100质量保存图像,这是最大的。我猜你的原始图像没有那么大的质量,因此文件大小不同。

只需查看Watermark class的204行:

# Save image
$functionTarget($this->imgSource, $imgTarget, 100);

您必须对其进行硬编码才能改变质量。