我知道这已经覆盖的时间很多,但我一直在尝试不同的脚本和修改一个我,和我仍然不能让我的PNG-24 watermark.png是透明在我的父图像的顶部。PHP - 水印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,但仍然没有运气。我在浏览器中加载了水印(原始),它绝对透明,但不在图像上。这当然不会那么困难?任何想法我做错了什么?
请不要包含文字的屏幕截图。 – meagar 2012-07-27 17:29:13
@meagar:为什么?如果它太困扰你了,重写它! – TheCarver 2012-07-27 17:31:51
我做过了,但我不应该这样做。不要截图文本。这对网站不利,对网站不利,对用户不利。 – meagar 2012-07-27 17:32:52