E' stata scritta nel linguaggio C, ma supporta, tramite wrapper, anche altri linguaggi, in particolare il PHP e il Perl.
Può generare immagini di tipo diverso (in particolare nei formati JPEG,GIF,PNG e BMP), immagini composte da linee, archi, diagrammi, grafici, miniature ed anche testo (supporta infatti i font). Caratteristica molto importante è che la generazione delle immagini avviene in tempi molto ridotti, praticamente on the fly.
Con l'arrivo della versione 2.0 ci sono state importanti novità, infatti sono stati aggiunti:
- il colore per immagini truecolor e con canale alfa;
- il resampling dell'immagini.
Il sito di riferimento è questo: http://www.libgd.org/,dove troviamo la documentazione, le FAQ e i download della libreria.
Viene utilizzata, per la maggior parte, nella creazione di siti web e dentro i moduli dei diversi CMS.
Una versione modificata di GD Library è presente in PHP a partire dalla versione 4.3 che include funzioni aggiuntive.
A questo link invece troviamo le funzioni utilizzate in PHP sia con la GD library sia senza.
Se avete una buona infarinatura di PHP non vi risulterà difficile usarle.
Per esempio è molto banale creare un codice che aggiunge su un'immagine (nel nostro caso png) una scritta.
Basta scrivere uno script php e del codice html come questi:
Il codice è semplice da capire: prende dall'url il testo dato dalla variabile text, carica l'immagine (nel nostro caso in formato png, che viene dichiarato anche nel content-type), imposta la posizione del testo nell'immagine e il colore e crea la nuova immagine. Ancora più facile è capire come inserirlo in una pagina web: basta usare i classici tag html e uno script php con il tag img che richiama l'altro script.
Se volete provare in locale questo codice e usate per esempio EasyPhp allora basta caricare dentro la cartella www del programma i due file, creare una cartella (che nel codice di esempio è stata chiamata images) e dentro la quale inserire il file png.
Basta poi richiamare il file dall'url e otteniamo quello che si può vedere nell'immagine.
Da notare bene: in EasyPhp è necessario attivare questa libreria. Per farlo basta andare in configurazione, scegliere Estensioni PHP (vedi figura) e da lì selezionare php_gd2.
Facciamo un altro esempio e scriviamo il seguente codice:
Questo codice produce, dato un testo, un banner con la relativa scritta.
E' facile capire cosa fanno le singole funzioni: impostano dimensioni e colori sia dello sfondo che del testo, salva l'immagine nel formato desiderato (nel nostro caso la funzione imagejpeg) e con il percorso che vogliamo, infine la restituisce nel browser tramite il tag img.
In figura vediamo il risultato che otteniamo.
In questo modo è facile usare la libreria per le più svariate cose, per esempio per un servizio che trasforma i testi immessi in immagini (per esempio un e-mail icon generator) oppure per creare dei filtri captcha.
Solitamente, per utilizzarla sul web, deve essere fornita dal servizio di hosting. Se non è attiva, basta provare a chiedere all'assistenza per la sua attivazione.
Se invece si possiede un proprio server oppure si vuole fare le prove in locale, la libreria può essere attivata lanciando questi comandi :
sudo apt-get install php5-GD (se piattaforma Debian Based, con "sudo" solo se è Ubuntu);
yum install php-gd (se piattaforma RedHat Based, come Fedora).
Per controllare se è già installata basta usare il classico script php:
<?php echo phpinfo(); ?>
Numerosi componenti di Joomla richiedono l'uso della GD Graphics Library.
Vediamo qui alcuni esempi:
- Security Images: componente nativo sia per la versione 1.0 sia per la 1.5, utilizza la GD Graphics Library per creare 5 tipi di captchas configurabili;
- Phoca Gallery: questa galleria di immagini richiede la GD Graphics Library, che viene utilizzata in particolar modo per creare i tre tipi di thumbnails per l'anteprima delle immagini;
- EasyGallery, componente che richiede la presenza della GD Graphics Library per la creazione delle thumbnail. Se è attiva nel nostro server dobbiamo generare le miniature manualmente prima di utilizzare la galleria. E' necessario aggiungere una cartella per le thumbnails per ogni album. In questa cartella è necessario inserire, per ogni immagine, un file miniatura. Se l'immagine originale si chiama img.jpg la miniatura dovrà chiamarsi tn_img.jpg e messa in tale cartella. Esistono molti programmi e siti che forniscono la possibilità di creare in modo automatico delle miniature, per esempio il programma Irfanview.
Molto spesso tra le impostazioni è possibile rilevare se è installata oppure no, come nella zOOm Media Gallery (vedi immagine)
La libreria GD Graphics Library è molto utile per la costruzione dei nostri siti e viene utilizzata in molti componenti. Studiarla non è difficile e bastano anche poche conoscenze di php e si possono ottenere degli effetti e delle immagini veramente interessanti.
Commenta questo articolo sul forum