我有一个页面,用户可以将图像向左和向右旋转。
问题是,当用户将图像旋转4-5次时,质量会大大降低!
我做错了吗?
$image_source = imagecreatefromjpeg($path_u);
$rotate = imagerotate($image_source, $angle, 0);
imageinterlace($rotate, true); //this is to create progressive jpeg
imagejpeg($rotate, $path_u, 100);
imagedestroy($rotate);
答案 0 :(得分:4)
重复修改和重新压缩图像(特别是JPEG,无论质量设置如何都是有损的)必然会导致乘法伪像。您最好保留原始图像,并在请求旋转时重新旋转原稿,而不是每次都保存原始图像。
答案 1 :(得分:-1)
如果我错了,请纠正我,但在2014年,我们可以旋转jpeg图片,不是没有质量损失,而是严重减少它。
Imagejpeg方法具有"质量"有助于设定所需质量节省的论据。 100的价值是完美的。
我尝试多次旋转相同的图像,并且人眼看不到质量损失。
这是代码。
header("Content-type: image/jpeg");
$source = imagecreatefromjpeg($pictureUrl);
$rotate = imagerotate($source, $degrees, 0);
imagejpeg($rotate, $pictureUrl, 100);
imagedestroy($source);
imagedestroy($rotate);