PHP-将透明PNG动态添加到GIF
我正在尝试用php代码做一个水印标记,在我将一个透明的PNG文件转换成GIF之前,一切似乎都很正常。发生的情况如下: 因此,我在顶部得到的不是透明的黑色水印,而是半固态的绿色。 水印是 我使用以下php代码:PHP-将透明PNG动态添加到GIF,php,watermark,php-gd,Php,Watermark,Php Gd,我正在尝试用php代码做一个水印标记,在我将一个透明的PNG文件转换成GIF之前,一切似乎都很正常。发生的情况如下: 因此,我在顶部得到的不是透明的黑色水印,而是半固态的绿色。 水印是 我使用以下php代码: ... $image = imagecreatefromgif($filepath);; $watermark_image = imagecreatefrompng($wm_filepath); imagealphablending($watermark
...
$image = imagecreatefromgif($filepath);;
$watermark_image = imagecreatefrompng($wm_filepath);
imagealphablending($watermark_image, false);
imagesavealpha($watermark_image, true);
imagegif($image, $filepath);
imagedestroy($image);
imagecopy($image, $watermark_image, $offset['x'], $offset['y'], 0, 0, imagesx($watermark_image), imagesy($watermark_image) );
p、 我必须提到的是,我尝试使用
imagealphablending()
imagesavealpha()
没有结果
UPD:
现在我将图像保存为png文件。我删除了这两行
imagealphablending($watermark\u image,false);imagesavealpha($watermark_image,true)代码>成功了。但是,PNG的透明度与GIF重叠<代码>图像混合($image,true)代码>没有帮助。我该怎么办?GIF文件的颜色限制为256种,并且有一种指定为透明的颜色。所以你不能有抗锯齿透明度,也不能有任何类型的抗锯齿
我建议改为保存为PNG。谢谢您的回答。我试图通过使用imagepng($image,$filepath)保存为PNG代码>,但我有相同的结果,除了水印的背景现在根本不是“透明”的。。。