Utilizzo di cookies
Script GD libray con PHP Modelli Creare immagine Colore e trasparenza Disegnare Pennelli Misurare Filtri Testo Copy Salvare Miscellanea
GD library con PHP
imagecolorallocatealpha()
alloca colore con parametro trasparenza Alpha


e-book
cartaceo

Nelle immagini digitali  la rappresentazione dei colori avviene usando i canali RGB combinati.
Alpha è il canale aggiuntivo che descrive il grado di opacità, questo grado è determinato da un valore numerico fra zero per opacità massima, a 127 per trasparenza assoluta.
A parte il parametro Alpha, questa funzione è identica a imagecolorallocate().


imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
Parametri
$image: Una risorsa immagine restituita da una funzione di creazione immagine
$red: Valore della componente rossa (fra 0 e 255)
$green: Valore della componente verde (fra 0 e 255)
$blue: Valore della componente blu (fra 0 e 255)
$alpha: Valore della componente alfa (fra 0 e 127) 
0 = completamente opaco
127 = completamente trasparente


<?php
$DimIMMA = 400; // dimensioni immagine
// crea immagine, per default lo sfondo è nero
$Immagine=imagecreatetruecolor($DimIMMA, $DimIMMA);
// alloca colore bianco per sfondo dell'immagine
$SfondoBianco = imagecolorallocate($Immagine, 255, 255, 255);
// sfondo bianco e bordo nero
imagefilledrectangle($Immagine, 10, 10, $DimIMMA - 10, $DimIMMA - 10, $SfondoBianco);
//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);
imagepng($Immagine, "es_53_trasparenzaALPHA_1.png"); // salva
// disegna 4 ellissi sovrapposti al quadrato e alle circonferenze
imagefilledellipse($Immagine, $VerdeX, $VerdeY+100, $diametro/2, $diametro, $VerdeALPHA-40);
imagefilledellipse($Immagine, $CelesteX-100, $CelesteY, $diametro, $diametro/2, $CelesteALPHA-40);
imagefilledellipse($Immagine, $GialloX, $GialloY-100, $diametro/2, $diametro, $GialloALPHA-40);
imagefilledellipse($Immagine, $BluX+100, $BluY, $diametro, $diametro/2, $BluALPHA);
header('Content-Type: image/png');
imagepng($Immagine); // al browser
imagepng($Immagine, "es_53_trasparenzaALPHA_2.png"); // salva
imagedestroy($Immagine); // libera memoria
?> Risultato: