Torna alla Marco Moret Home Page

INDICE dei contenuti
5 Introduzione
5.1 Elaborazione di immagini sul Web
5.2 ImageMagick
LINK di interesse


Introduzione

Questa parte del sito, non è dedicata alla elaborazione di immagini intesa come studio di come le immagini possano essere trattate e quali formule aritmetiche nascondono nella loro elaborazione, ma semplicemente vuole essere una descrizione di come si possono gestire le immagini in real time su un sito web.
Quindi, gli appassionati di elaborazione di immagini vera e propria possono smettere anche subito di leggere, mentre se siete dei web master e i vostri CGI devono gestire delle immagini "on fly", rimanete qui perchè toverete notizie piuttosto interessanti.



Elaborazione di immagini sul Web

Cerchiamo di chiarire subito cosa intendo per "Elaborazione di Immagini" sul Web.
Molte volte è capitato di dover gestire in qualche modo delle immagini su alcuni dei siti web da me creati.
Se l'elaborazione è dovuta alla creazione di qualcosa di grafico che deve rendere il sito presentabile, allora ricorro a programmi tipo Paint Shop Pro o PhotoShop e costruisco l'immagine da utilizzare poi sui siti facendo attenzione al peso che può comportare all'interno di una pagina Internet.
Molte volte però l'immagine da gestire è qualcosa che dipende dal singolo utente che si connette e non un oggetto statico che rimane invariato nel tempo.
Un esempio chiaro è l'immagine del contatore che vedete nel frame alla vostra sinistra: essa infatti varia di continuo e si personalizza per ogni collegamento effettuato.
Questa immagine non è qualcosa di statico memorizzato sul web server, ma è un oggetto che viene creato al volo da un programma server che indica all'utente quanti accessi ha avuto finora la mia pagina web.
Un altro esempio è dato dai siti di scambio banner che servono a publicizzare i propri siti Internet; infatti, la maggior parte di essi, permettono all'utente di scegliere un banner creato da loro subito dopo l'iscrizione, basandosi sui dati personali appena inseriti.
Per esempio, il sito
linkexchange per lo scambio dei banner, subito dopo la mia iscrizione, al momento dell'inserimento del mio banner, ha proposto il seguente:

Banner

Questo banner è stato generato sul momento da un qualche programma server che ha preso i miei dati e li ha messi assieme fino a formare la GIF visualizzata sopra.
Per effettuare tali creazioni, ci sono moltissimi modi, tipo utilizzare librerie apposite del linguaggio C, oppure le classi Java per elaborare l'oggetto Image e salvarlo in formato GIF o JPG, o ancora utilizzare programmi esterni al CGI che eseguono ciò di cui necessito e poi comunicare al CGI i risultati ottenuti.
Proprio di quest'ultimo caso e di un programma in particolare parleremo nel seguito.



ImageMagickLogo ImageMagick

ImageMagick è composto da una serie di programmi scritti in linguaggio C che permettono di elaborare le immagini tramite linea di comando, oppure tramite un'apposita interfaccia grafica.
La potenza di ImageMagick sta proprio nel fatto che si possono creare centinaia di funzioni che elaborano un'immagine senza doverla aprire.
Per i più esperti di tecnologia web, si intuisce subito quali siano i suoi ambiti applicativi di maggior interesse, e cioè le applicazioni CGI che elaborano le richieste utente per fornire delle risposte.
Con i comandi di ImageMagick, si può per esempio ridurre le dimensioni di un'immagine, ruotarla, unire due o più immagini, ridurne il numero di colori, convertire tra i più comuni formati compreso il PDF utile per stampare le carte in scala, ecc.
E' disponibile per piattaforme diverse tra cui Windows9x/NT, Macintosh, e i più diffusi UNIX.
Esistono molti siti ftp da cui è possibile scaricare il prodotto:
ftp.wizards.dupont.com (Eastern, USA)
ftp.fifi.org (Western, USA)
gd.tuwien.ac.at
ftp.yggdrasil.com
ftp.ms.mff.cuni.cz
ftp.fu-berlin.de
ftp.uni-trier.de
ftp.cci.fr
ftp.kddlabs.co.jp
ftp.u-aizu.ac.jp
ring.aist.go.jp
ring.asahi-net.or.jp
ring.so-net.ne.jp
ring.etl.go.jp
ring.nacsis.ac.jp
zsh.cc.keio.ac.jp
ftp.oce.nl
ftp.icm.edu.pl
giswitch.sggw.waw.pl
ftp.itep.ru
hpux.csc.liv.ac.uk (HP)
www.redhat.com (Linux)
Il prodotto è completamente freeware e può essere scaricato nel formato già eseguibile per le piattarforme più comuni.
Il download è corredato di pagine di Help (in HTML) e nel sito principale è possibile iscriversi ad una mailing-list di utenti interessati all'applicazione.
Per comprendere meglio il prodotto vediamo alcuni esempi:
1)Creare un'immagine come unione a destra di altre due
montage -geometry +0+0 img1 img2 imgnew
2)Per spezzare un'immagine in immagini grandi XxY a partire dall'angolo alto sinistro
convert -crop XxY image img%d.gif
3)Per estrarre da un'immagine un rettangolo definito in pixel
convert -crop 126x400+126+0 imageOrig.gif img1.gif
Questi a altri comandi possono essere combinati tra loro per creare complicate elaborazioni eseguibili da linguaggi come C o Java (tramite le funzioni di esecuzione a runtime di processi esterni).
Clicca per vedere alcuni esempi di elaborazioni effettuate con ImageMagick.