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
imagesavealpha()
imposta il flag per salvare informazioni del canale alfa


e-book
cartaceo

Questa funzione richiede GD 2.0.28 o superiore.
Nelle immagini digitale di tipo RGB i colori vengono rappresentati attraverso la miscelazione dei tre colori basilari, rosso, verde, blu (Red, Green,Blu) denominati anche canali di colore.
Ad es. uno dei 16.777.216 colori possibili RGB(255,0,255)  è il Viola.
A questo tipo di immagine, per ciascun colore usato, può essere associato un quarto canale denominato canale Alpha il quale consente di applicare la trasparenza. 
Se, ad esempio, al canale Alpha  del colore Viola visto in precedenza ha valore 0, cioè RGB(255,0,255,0), ogni singolo pixel di questo colore sarà completamente opaco. 
Poiché il canale Alpha, per il colore assegnatogli, può assumere valori in un range che va da 0 (completamente opaco) a 127 (completamente trasparente) questo canale può essere usato per generare zone ombreggiate e sfumate di varie intensità.


Impostare l'opzione per salvare tutte le informazioni del canale alfa, è da non confondere con trasparenza di singolo colore nell'immagine (GIF e PNG a 256 colori).
Ad oggi (2016), il canale Alfa non è supportato da tutti i browser.
È necessario disattivare alphablending() impostandolo su false.
Permette di salvare file png con trasparenza su altro file png con trasparenza mantenendole entrambe.

imagesavealpha ( resource $image , bool $saveflag )
Parametri
$image: Una risorsa immagine, restituita da una della funzione di creazione immagine come ad es. imagecreatetruecolor(). 
$saveflag: Setta il canale alfa su TRUE. (Predefinito è FALSE.)


<?php
// carica immagine con trasparenza per lo sfondo
$immagine = imagecreatefrompng('RosaDeiVenti.png');
// carica immagine  con trasparenza da sovrapporre
$immagineLOGO = imagecreatefrompng('logo.png');


imagealphablending($immagine, true); // abilita imagealphablending
imagesavealpha($immagine, true); // abilita imagesavealpha


// copia l'immagine logo.png su RosaDeiVenti.png
imagecopy($immagine, $immagineLOGO, 50, 50, 0, 0, 150, 94);
imagepng($immagine); // al browser
imagepng($immagine, 'NomeFile.png');// salva immagine
// libera memoria
imagedestroy($immagine);imagedestroy($immagineLOGO);
?> Risultato: