我有一个过程,我正在拍摄JPG并调整它。
我的目的是不应用任何额外的压缩并简单地修改尺寸,但是,在代码运行后,图像的Kb比我预期的要小(质量更差)。
我很好奇是否有什么东西我做错了(我是GD / Imagemagick的新手),如果还有其他一些步骤我需要用来保持质量。
这是我的代码:
$src = imagecreatefromjpeg($originalLocation);
$dst = imagecreatetruecolor($destinationWidth, $destinationHeight);
list($oWidth, $oHeight, $type, $attr) = getimagesize($originalLocation);
imagecopyresampled($dst, $src, 0, 0, 0, 0,$destinationWidth,$destinationHeight,$oWidth,$oHeight);
imagejpeg($dst, $destinationLocation, 100 );
源图像为1024x600和~450k 得到的图像是640x375但只有~30k
我似乎控制压缩的代码中唯一的位置是在我传递100的imagejpeg调用中。为什么一个图像的大小是原来缩小到<%10文件的50%大小
[编辑] 添加了示例文件:
TIA
答案 0 :(得分:0)
一切看起来都不错,但很明显质量设置被忽略了。尽管the documentation表示您可以使用高达100的质量设置,但我会尝试99以确定它是否有所作为。
答案 1 :(得分:0)
ImageMagick完全解决了这个问题,所以,我只是在使用它。