gd库水印png图像

问题描述 投票:0回答:0

我正在尝试为图像添加水印,但是当图像为PNG格式时,水印会失去透明度。

$watermark = imagecreatefrompng('logo.png');

                $watermarkWidght = imagesx($watermark);
                $watermarkHeigth = imagesy($watermark);

                $image = imagecreatefrompng($path);

                $imageWidght = imagesx($imagenss);
                $imageHeigth = imagesy($imagenss);

                $positionX = ($imageWidght) - ($watermarkWidght);
                $positiony = ($imageHeigth) - ($watermarkHeigth);
imagealphablending($image , true); // set alpha
imagesavealpha($image , true);
 

                imagecopy($imagenss, $watermark, (int)$positionX, (int)$positiony,0,0, $watermarkWidght,$watermarkHeigth);
                ob_start();
                imagepng($imagenss);
                $ImageData=ob_get_contents();
                ob_end_clean();

PNG image with watermark

当背景图片为.png格式时,水印应保持透明度。 当涉及 .jpg 格式的图像时,水印保持透明度。

php png gdlib
© www.soinside.com 2019 - 2024. All rights reserved.