-2

我正在一个我最初没有创建/开发的网站上工作。

用户可以上传图像,当他们这样做时,有一个功能可以创建带有水印的图像副本。

但是带有水印的副本质量低,而且它的大小比原始图像小很多

无水印

带水印

function watermark( $path ){
    $watermark = imagecreatefrompng('files/watermark.png');
    $wmsize = getimagesize('files/watermark.png');
    $image = imagecreatefromjpeg($path);
    $size  = getimagesize($path);

    $dest_x = (8);
    $dest_y =  ($size[1] - 35  );

    imagecopy($image, $watermark, $dest_x, $dest_y, 0, 0, $wmsize[0], $wmsize[1]);

    ob_start(); 
    imagejpeg($image); 
    $img2 = ob_get_contents(); 
    ob_end_clean(); 
    imagedestroy($image);
    return $img2 ;
}
4

1 回答 1

1

由于 JPEG 压缩,图像质量下降。

每次将图像保存为 JPEG 时,都会降低其质量,因为 JPEG 使用有损压缩。您可以通过将压缩质量设置为 100% 来最小化损失,但如果您想执行无损压缩,JPEG 是不可能的,您必须寻找另一种图像格式,例如 TIFF。

于 2013-05-13T00:16:08.103 回答