我知道这已经被覆盖了很多次,但我一直在尝试不同的脚本并修改我拥有的脚本,但我仍然无法让我的 PNG-24 watermark.png 在我的父图像顶部透明。
这是我目前拥有的:
<?
header('content-type: image/jpeg');
$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatefromjpeg($imageURL);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$size = getimagesize($imageURL);
imagealphablending($image, false);
imagesavealpha($image, true);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>
我刚刚阅读了另一个 SO 问题,其中一个答案建议如果您不添加这两行,它将不透明:
imagealphablending($image, false);
imagesavealpha($image, true);
我添加了它们,但仍然没有。我尝试设置标题并输出为PNG,但仍然没有运气。我在浏览器中加载了水印(原始),它绝对是透明的,但不是在图像上。这肯定不会那么难吧?任何想法我做错了什么?