Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Creare immagini da zero con le GD2 :: Indice Php

Creare immagini da zero con le GD2

Categoria: Php Inserito il: 09-03-2006 Stampa (6446 click)

In questo articolo, descriveremo la procedura necessaria per la creazione di un'immagine in formato "JPG" utilizzando esclusivamente le librerie GD2 e PHP, senza l'ausilio di alcun software per la grafica.

Sarà un'occasione utile per vedere all'opera alcune tra le funzioni specifiche per GD2. Ma diamo subito spazio al codice:

<?
$size_testo = 10;
$larghezza_testo = imagefontwidth($size_testo);
$altezza_testo = imagefontheight($size_testo);
$testo = "Creaimo un'immagine con le GD2 di PHP";
$larghezza = strlen($testo);
$larghezza_px = $larghezza_testo * $larghezza;
$img = imagecreate($larghezza_px + 10,$altezza_testo + 10);
$sfondo = imagecolorallocate($img, 0xC0, 0xC0, 0xC0);
$colore_testo = imagecolorallocate($img,0xF0,0xF0,0xF0);
imagestring($img,$size_testo,5,5,$testo,$colore_testo);
imagejpeg($img, "img/img.jpg");
imagedestroy($img);
echo "<img src=\"img/img.jpg\">";
?>
Questo piccolo script, ha la funzione di produrre in output un semplice banner colorato con una scritta al centro:

Nel corso del listato sono entrate in gioco numerose funzioni con le quali è stato possibile stabilire nei minimi particolari le varie caratteristiche dell'immagine desiderata: dimensioni e colore dello sfondo, dimensioni e colore del testo, formato dell'immagine, percorso della cartella in cui l'immagine deve essere creata e salvata e molto altro.

Innanzitutto, abbiamo stabilito le dimensioni del testo assegnando un valore ad una variabile che abbiamo passato come argomento alle funzioni imagefontwidth() e imagefontheight() utili a stabilire rispettivamente larghezza e altezza del nostro testo.

La funzione imagecreate() ha accettato come parametri i valori risultanti dal calcolo dell'altezza e della larghezza del testo, a cui nel nostro caso abbiamo aggiunto un padding da 10 px tenendo conto della cornice del banner

imagecolorallocate() ci ha permesso di determinare la colorazione dello sfondo, gli argomenti passati alla funzione sono stati innanzitutto l'immagine appena creata e, in secondo luogo, i codici realtivi alla colorazione da abbinare. Nello stesso modo, la medesima funzione ci ha consentito di stabilire la colorazione da utilizzare per la stringa di testo da inserire all'interno del banner.

imagestring() è una funzione che permette di inserire una stringa alfanumerica, nel nostro caso una frase di senso compiuto, all'interno di un'immagine; i parametri utilizzati sono stati: l'immagine, le dimensioni del testo, la stringa da immettere e il colore abbinato a quest'ultima.

imagejpeg() si è occupata delle operazioni di salvataggio; a quest'ultima, sono stati infatti passati come argomenti la variabile contenente come valore l'immagine appena creata e il percorso alla cartella di destinazione.

Infine, abbiamo utilizzato la funzione imagedestroy() che accetta come argomento l'immagine creata, in modo da rimuoverla dalle risorse allocate, infatti essa è stata salvata in una cartella e non è più necessaria per svolgere alcuna operazione.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Istruzioni condizionali
Quando si parla di istruzioni condizionali o di costrutti per il controllo del flusso, chi conosce un minimo di sintassi... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti