La GD Graphics Library Stampa E-mail
Guide - Joomla 1.5
Autore : ventus85  »  Giovedì 03 Dicembre 2009 » Questo articolo è stato letto: 3467 volte
Informazioni utiliLa GD Graphics Library è una libreria di codice open source per la manipolazione dinamica di immagini, scritta principalmente da Thomas Boutell. Il progetto è attualmente guidato da Pierre Joye (uno degli sviluppatori più conosciuti per il PHP).
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.
La versione attuale (purtroppo risalente al novembre 2007) è la 2.0.36RC1 (cioè la prima release candidate), altrimenti abbiamo la 2.0.35 del giugno del medesimo anno.

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:
e poi usarli all'interno delle pagine web, come è possibile vedere in figura.
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.
In generale la maggior parte delle attuali gallerie e componenti per il captcha o per altro richiedono la presenza di questa libreria.
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.




CommentaCommenta questo articolo sul forum
 

Ricerca su Joomla.it

Primi passi Non perdere la lettura di questi interessanti suggerimenti, utilissimi per chi si avvicina per la prima volta al mondo Joomla!