添加水印后,图像的质量和尺寸下降


losing quality and size , after adding watermark to image

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

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

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

没有水印

与水印

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 ;
}

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

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