Consente due diverse modalità di disegno su immagini TrueColor.
Nel metodo di fusione, la componente canale Alpha del colore fornita determina la quantità del colore sottostante dovrebbe essere trasparire.
Come risultato, GD fonde automaticamente il colore esistente in quel punto, e memorizza il risultato nell'immagine. Il pixel risultante è opaco.
In modalità non-fusione, il colore disegno viene copiato letteralmente con le relative informazioni canale Alèha, che sostituisce il pixel di destinazione.
imagealphablending ( resource $image , bool $blendmode )
Parametri
$image: Una risorsa immagine, restituita da funzione di creazione immagine.
$blendmode: Abilita o non abilita il metodo di fusione.
Su immagini a colori il valore predefinito è TRUE altrimenti il valore predefinito è FALSE.
L'esempio seguente crea e salva un'immaigne con
imagealphablending($Immagine,FALSE);
Decommentando le 2 righe successive sarà possibile vedere il risultato con
imagealphablending($Immagine,TRUE);
<?php
// crea immagine di 400x400 pixel, per default lo sfondo è nero
$Immagine=
imagecreatetruecolor(400, 400);
$NomeImmagine = "es_52_FALSE_
imagealphablending.png";
imagealphablending($Immagine,FALSE);
/* decommentare le 2 linee successive per vedere la differnza */
//$NomeImmagine = "es_52_TRUE_
imagealphablending.png";
//
imagealphablending($Immagine,TRUE);
//centro delle circonferenze
$VerdeX = 100; $VerdeY = 100;
$CelesteX = 300; $CelesteY = 100;
$BluX = 100; $BluY = 300;
$GialloX = 300;$GialloY = 300;
$diametro = 150;
// colore del quadrato
$RossoOpaco =
imagecolorallocatealpha($Immagine, 255, 0, 0, 0);
// alloca i colori con valori ALPHA
$VerdeALPHA =
imagecolorallocatealpha($Immagine, 0, 255, 0, 80);
$CelesteALPHA =
imagecolorallocatealpha($Immagine, 0, 255, 255, 80);
$GialloALPHA =
imagecolorallocatealpha($Immagine, 255, 255, 0, 80);
$BluALPHA =
imagecolorallocatealpha($Immagine, 0, 0, 255, 80);
// disegna un quadrato rosso
imagefilledrectangle($Immagine, 100,100,300,300, $RossoOpaco);
// disegna 4 circonferenze sovrapposte al quadrato
imagefilledellipse($Immagine, $VerdeX, $VerdeY, $diametro, $diametro, $VerdeALPHA);
imagefilledellipse($Immagine, $CelesteX, $CelesteY, $diametro, $diametro, $CelesteALPHA);
imagefilledellipse($Immagine, $GialloX, $GialloY, $diametro, $diametro, $GialloALPHA);
imagefilledellipse($Immagine, $BluX, $BluY, $diametro, $diametro, $BluALPHA);
header('Content-Type: image/png');
imagepng($Immagine); // al browser
imagepng($Immagine, $NomeImmagine); // salva
imagedestroy($Immagine); // libera memoria
?>
Risultato: