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
imagepng()
Crea un'immagine in formato png


e-book
cartaceo

PNG è una scelta migliore rispetto all'utilizzo di file GIF, rappresentandone l'evoluzione tecnica, può avere zone trasparenti, è completamente comprimibile e non ci sono problemi legali legati al copyright GIF.
PNG permette d'immagazzinare immagini in bianco e nero fino a 16 bit per pixel di profondità, in TrueColor, fino a 48 bit per pixel di profondità di codifica. La compressione è senza perdita (lossless compression) fino al 25% migliore della compressione GIF. 
imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )
Parametri
• $image: Una risorsa immagine restituita da una funzione di creazione immagine. 
• $filename: nome del file, opzionale, necessario se viene salvato su disco
• $quality: Livello di compressione, 0 nessuna compressione, 9 compressione massima.
• $filters: Permettono la riduzione delle dimensioni del file PNG. 
Si tratta di un campo di maschera di bit che può essere impostato su qualsiasi combinazione di costanti PNG_FILTER_XXX.  
PNG_NO_FILTER PNG_FILTER_NONE PNG_FILTER_SUB PNG_FILTER_UP
PNG_FILTER_AVG PNG_FILTER_PAETH PNG_ALL_FILTERS
Secondo le specifiche PNG alle quali rimandiamo per approfondimenti a questo indirizzo:
http://www.w3.org/TR/PNG-Filters.html (in lingua inglese), 
Lo scopo di questi filtri è quello di preparare i dati di immagine per la compressione ottimale.
Per salvare l'immagine su disco, è sufficiente aggiungere il nome e l'estensione:
es:  imagepng($Immagine,"NomeFile.png"); // salva immagine
Esempio
<?php  
header("Content-type: image/png");
// crea immagine di 200 x 200 pixel
$Immagine = imagecreate(200, 200);
// // alloca il colore azzurro, colorandone lo sfondo
imagecolorallocate($Immagine, 0, 255, 255);
imagepng($Immagine); // al browser predefinito
imagepng($Immagine,"NomeImmagine.png"); // salva immagine
imagedestroy($Immagine); // libera memoria
?> Risultato: