Atlantide Web Island

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Tutorials Php e MySql Realizzare thumbnails con GD Graphics Library

Realizzare thumbnails con GD Graphics Library

In questo tutorial vedremo come implementare il modulo html per il caricamento delle immagini, aggiungendo una funzione che ci permetterà di creare delle miniature, o se preferite delle thumbnails, delle immagini che verranno caricate sul server. Per fare ciò dobbiamo controllare che sul nostro hosting sia attivo il supporto per le librerie GD. Verifichiamolo ! Creiamo una nuova pagina con una singola riga di codice Salviamo il file come "info.php" e carichiamolo sul nostro dominio. Puntiamo il browser all'indirizzo relativo e saranno visualizzate tutte le informazioni relative al nostro php. Scorriamo fino ad arrivare al gruppo gd e controlliamo se GD Support sia abilitato

Riprendiamo sotto mano il tutorial del modulo html per il caricamento immagini. L'oggetto caricava il file nella directory temporanea di sistema e poi lo spostava definitivamente nel percorso che noi avevamo impostato. Bene, prima di questo passo finale, programmeremo lo script affinchè per ogni immagine caricata nel modulo ne faccia una copia con dimensioni ridotte da salvare in un'altra cartella, che chiameremo "thumbs".

thumbsnails

Assicuriamoci che la directory abbia i permessi settati su 755 e apriamo un nuovo documento php.
Nella prima parte del codice metteremo gli elementi editabili a seconda delle preferenze, il percorso delle cartelle dove saranno salvate le due tipologie di files (le immagini a grandezza naturale e le miniature) e la dimensione della larghezza della thumbsnails.

Adesso ricollochiamo il form precedente e il controllo sul tipo di file

Attraverso l'array $_FILES['data']['type'] istruiamo lo script su quale funzione di GD Library deve utilizzare per generare la miniatura

Succesivamente lo script si occuperà di determinare le dimensioni dell'immagine caricata, attraverso la funzione getimagesize e i parametri saranno assegnati alla larghezza e all'altezza. Dopo di che attraverso il rapporto tra le due dimensioni calcolerà il fattore di proporzione, memorizzandolo in una variabile che sarà poi usata per calcolare l'altezza della miniatura grazie al valore della larghezza che abbiamo configurato all'inizio.

Siamo quasi alla fine, lo script darà origine ad una nuova immagine con i colori reali, attraverso la funzione imagecreatetruecolor, che accetta due parametri, larghezza e altezza.

La parte relativa al ridimensionamento è di competenza della funzione imagecopyresized che come vediamo ha 10 parametri : la destinazione, l'origine, le 4 coordinate cartesiane, le dimensioni per il nuovo file e le dimensioni originali.
Avremo cura di mantenere la trasparenza dell'immagine nel caso si trattasse di una png attraverso la funzione imagealphablending.

Finalmente salveremo le immagini, utilizzando le funzioni apposite per ogni formato

Per ogni difficoltà non esitate a chiedere aiuto sul forum, intanto ecco il codice completo :

Ultimo aggiornamento Lunedì 15 Dicembre 2008 17:45  

Notizie flash

Ricordiamo a tutti gli utenti di Atlantide che il dual login dal forum non è supportato. Per cui se vi loggerete dal forum non sarete loggati su joomla. Questa è una pecca assai seccante di jfusion.
Speriamo che rivedano presto le loro posizioni a riguardo le licenze di mofica del codice.
Giochi onlineVideo CalcioDivertimentoPerline