Я знаю, что это обсуждалось МНОГО раз, но я продолжаю пробовать разные сценарии и модифицировать тот, который у меня есть, и я до сих пор не могу сделать мой PNG -24 водяного знака.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, но все равно не повезло. Я загрузил водяной знак в свой браузер (в необработанном виде ), и он определенно прозрачен, но только не на изображении. Неужели это не может быть так сложно? Любые идеи, что я делаю неправильно?