So che questo è stato coperto molte volte ma continuo a provare diversi script e modificare quello che ho, e io ancora non riesco a ottenere il mio watermark.png PNG-24 per essere trasparente sopra la parte superiore dell'immagine del mio genitore.PHP - Watermark PNG Transparency/Alpha
Questo è quello che ho attualmente:
<?
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);
?>
Ho appena letto un'altra domanda SO e una delle risposte avvisato che non sarà trasparente se non si aggiunge queste due righe:
imagealphablending($image, false);
imagesavealpha($image, true);
li ho aggiunto e ancora non. Ho provato a impostare le intestazioni e l'output in PNG, ma ancora senza fortuna. Ho caricato la filigrana nel mio browser (raw) ed è decisamente trasparente ma non solo sull'immagine. Sicuramente questo non può essere così difficile? Qualche idea su cosa sto facendo male?
Si prega di non includere schermate di testo. – meagar
@meagar: perché? Se ti infastidisce così tanto, riscrivilo! – TheCarver
L'ho fatto, ma non avrei dovuto. Non salvare il testo dello screenshot. È dannoso per il web, cattivo per il sito e cattivo per i suoi utenti. – meagar