PHP - Watermark PNG Transparency / Alpha
Wiem, że dotyczyło to wiele razy, ale wciąż próbuję różnych skryptów i modyfikuję ten, który mam, i janadal nie mogę uzyskać mojego PNG-24 watermark.png, aby był przezroczysty na górze mojego macierzystego obrazu.
Oto, co mam obecnie:
<?
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);
?>
Właśnie przeczytałem kolejne pytanie SO i jedna z odpowiedzi wskazywała, że nie będzie przezroczysta, jeśli nie dodasz tych dwóch linii:
imagealphablending($image, false);
imagesavealpha($image, true);
Dodałem je i nadal nie. Próbowałem zamiast tego ustawić nagłówki i dane wyjściowe w PNG, ale nadal nie miałem szczęścia. Załadowałem znak wodny w mojej przeglądarce (surowej) i jest zdecydowanie przezroczysty, ale nie na obrazie. Z pewnością to nie może być takie trudne? Jakieś pomysły, co robię źle?