旋转图像会降低质量

时间:2013-03-19 00:57:29

标签: php gd

我有一个页面,用户可以将图像向左和向右旋转。

问题是,当用户将图像旋转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);

2 个答案:

答案 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);