1

我正在使用下面的代码来旋转我的 jpeg 图像,问题是在旋转图像大约 10-20 次后,图像的质量显着降低,尤其是蓝天等,我的问题是如何保持这些图像相同高质量的图像?一定有办法的。我的意思是,对于上传的每个图像,我都将原始图像保留在服务器上,并且我对此不做任何事情,所以如果需要的话,我想我总是可以想出一些方法来尽可能地使用它。但宁可不必。

$source = imagecreatefromjpeg($filename);

$rotate = imagerotate($source, 90, 0);

imagejpeg($rotate, $filename ,100);
4

1 回答 1

2

主要问题不是旋转,而是JPEG格式的保存。JPEG 总是有损的,即使设置为“100%”质量。结合实际更改图像,它会更快地恶化。如评论中所述,处理此问题的唯一真正方法是始终从源图像工作。跟踪应该应用于图像的更改,并将它们一次全部应用到一组转换中,以提供最高质量的图像。它有助于用户对图像执行有限数量的操作,例如“旋转 x 度”、“应用黑白滤镜”、“调整大小和裁剪”,并以严格的顺序应用一次。

于 2012-10-17T06:29:00.713 回答