Può essere reso trasparente un colore a scelta, di solito la porzione di un'immagine.
Questa funzione agisce sull'intera figura, quindi se un determinato colore si trova in più punti, tutti questi punti verranno resi trasparenti.
Il colore trasparente è una proprietà dell'immagine, la trasparenza non è una proprietà del colore.
Usando una combinazione di
imagecolorexact (),
imagecolorclosest (), e/o
imagecolorat (), immagini trasparenti possono essere costruite runtime senza conoscere l'esatto colore di sfondo.
Naturalmente, questo dipende dal layout dell'immagine originale.
imagecolortransparent ( resource $image [, int $color ] )
Parametri
$image: Una risorsa immagine restituita da una funzione di creazione immagine
$color: Un identificatore di colore creato con
imagecolorallocate ()
<?php
// legge immagine con vari colori
$Immagine =
imagecreatefrompng("colori.png");
$x = 10; $y = 10; // punto di lettura sull'immagine
// legge punto x,y dell'immagine
$ColoreTrasparenza =
imagecolorat($Immagine, $x, $y);
// rende trasparente il colore letto nel punto x,y
imagecolortransparent($Immagine, $ColoreTrasparenza);
header("Content-type: image/png");
imagepng($Immagine);// immagine nel browser predefinito
imagepng($Immagine, "NomeFile.png");// salva immagine
imagedestroy($Immagine); // libera memoria
?>
Risultato prima e dopo l'esecuzione dell'esempio:
Cambiando i valori x,y dell'esempio, verranno resi trasparenti colori diversi.
Risultato: