No no hai ragione avevo già sostituito quella funzione. Poi mi sono accorto che la stavo usando male.
Ora sono andato avanti ma ho sempre dei problemi.
Utilizzo questo codice:
Codice PHP:
<?php
header("Content-type: image/png");
$file_sfondo = "circle.png";
$file_icona = "square.png";
$dest = @imagecreatetruecolor(300, 300)
or die("errore nel caricare gd");
$black = imagecolorallocate($dest, 0, 0, 0); // creo il colore che deve diventare trasparente
imagecolortransparent($dest, $black); //rendo trasparente il nero dell'immagine
$sfondo = imagecreatefrompng($file_sfondo);
$icona = imagecreatefrompng($file_icona);
imagecopymerge($dest, $sfondo, 0, 0, 0, 0, 300, 300, 100);
imagecopymerge($dest, $icona, 0, 0, 0, 0, 300, 300, 100);
imagepng($dest);
imagedestroy($dest);
imagedestroy($sfondo);
imagedestroy($icona);
?>
Nell'ordine faccio come segue:
- creo il canvas di destinazione nero;
- lo buco imponendo che il nero dell'immagine diventi trasparente;
- aggiungo con imagecopymerge le 2 immaigni;
ottengo un file del tutto inaspettato. Sto veramente impazzendo. Poi mi pare di capire che non riesco in nessun caso a mantenere la sfumatura di trasperenza sullo sfondo, ossia la trasperenza delle png si salva nelle aree di sovrapposizione tra immagini ma quando deve sfumare sullo sfondo trasperente allora sfuma al nero.