BETA
BETACopertinaSommarioInternet IDInformazioniBrowserGuida
BETA
Clicca qui per maggiori informazioni

Sommario
Internet ID
Indici di BETA
Redazione
Mailing list
Installazione
Mirror ufficiali
Licenza Pubbl. Beta
Cerca
Stampa





BETA sul Web
Beta.it:
Menu Settori e sezioni

The Gimp: il fotoritocco secondo GNU

Uscita da poco la prima versione definitiva (1.0), The Gimp si propone come l'anti-Photoshop, non solo per le caratteristiche tecniche di cui è dotato: completamente freeware e sviluppato secondo la filosofia GNU dimostra quanto sia vitale e potente questo paradigma. In questo articolo ne esaminiamo pregi e difetti.

di Cristiano Paris
Articolista, BETA

GNU's Not Unix

Con questa definizione ricorsiva si spiega il significato di uno dei più famosi e importanti acronimi del mondo Linux e Unix. Introdotto per la prima volta nel 1983 grazie a Richard Stallman, autore dello storico GNU Manifest, oggi sponsorizzato dalla Free Software Foundation (http://www.fsf.org), rappresenta la forma legale sotto la quale viene distribuito gran parte del software gratuito messo oggi a disposizione degli utenti di Linux e Unix: GCC, GNU Emacs, Apache e lo stesso Linux sono solo alcuni degli esempi più importanti che indicano quale sia la diffusione di questo tipo di licenza.
Il contenuto e lo scopo della GNU General Public Licence è chiaro: definire il free software e le modalità di distribuzione e modifica a cui esso può essere sottoposto. Purtroppo, alla parola free viene spesso attribuito il significato sbagliato. In effetti essa si riferisce alla libertà d'uso del software: un concetto completamente slegato dal suo costo e che spazia dal normale utilizzo da parte dell'end-user, fino alla libertà di modificarne il sorgente, nonchè di effettuare copie onde facilitarne la diffusione. Con una metafora proposta dalla stessa FSF, dovete pensare al free software come pensate alla libertà di espressione o di parola, e non come a una birra gratuita.
Ma GNU non e' solo GPL. Esso rappresenta anche un progetto che si propone di creare un sistema operativo completamente gratuito e liberamente distribuibile, compresi tutti gli applicativi di cui un moderno OS deve essere dotato. Questo permetterebbe a chiunque di essere in grado, in qualunque momento, di utilizzare produttivamente un computer, indipendentemente dal software commerciale che, in quanto tale, è spesso influenzato da fattori non propriamente etici. Infatti il Free Software, proprio per la grande libertà offerta dalla GPL, è modificato dagli stessi utenti, e risulta quindi maggiormente conforme alle comuni esigenze di questi ultimi. Il risultato lo conosciamo tutti: Linux, un sistema operativo leggero, efficiente, estremamente potente, dotato di una serie sconfinata di tool gratuiti ed altrettanto efficienti che lo rendono adatto per i lavori più disparati.
GNU rappresenta quindi una risorsa preziosa, che va sicuramente difesa e conservata. E oggi sempre più aziende si stanno accorgendo di questa realtà, l'unica che è veramente in grado di inficiare il potere di monopolio detenuto dalle grandi software house.
Infine, vorrei terminare questa introduzione con una frase di Richard Stallman :

"The purpose of copyright is to promote progress---not to reward authors."
(Lo scopo del copyright e' l'incentivazione del progresso, non la remunerazione degli autori)

Gnu Image Manipulation Program

Ed ecco finalmente spiegato l'acronimo. Distribuito sotto licenza GPL, The Gimp (http://www.gimp.org) mira a conquistare un posto d'onore tra i programmi di fotoritocco e manipolazione di immagini. In realtà, come vedremo, proprio a causa delle sue origini in Internet, non potevano mancare caratteristiche volte a farne un ottimo alleato per i Web Master.
Ora, ad onor del vero, bisogna dire che in questo senso Linux è stato per lungo tempo latitante. Gli unici programmi disponibili in campo pittorico e di fotoritocco sono stati lo storico XV di John Bradley (che comunque rimane un punto di riferimento) e la NetPBM, una suite di potenti strumenti di manipolazione disponibili a livello di command-line, facilmente integrabili in script (come l'abusatissimo LaTeX2HTML), ma non proprio semplicissimi ed immediati da usare.
Così, stanchi di vedere Linux soccombere sotto il peso della potenza di programmi del calibro di Photoshop (http://www.adobe.com), due studenti, Peter Mattis e Spencer Kimball, diedero vita al progetto GIMP. Il loro intento era chiaro: creare un programma che fosse completo e flessibile quanto e più del pupillo di Adobe, il tutto completamente free (nell'accezione cui abbiamo precedentemente accennato).
E gran parte delle caratteristiche di The GIMP ricalcano fortemente proprio le scelte implementative di Photoshop. Se ne scorriamo l'elenco, troviamo :

  • Strumenti per il disegno come Airbrush, Pencil, Brush, Stamp Tool ecc
  • Sub-pixel sampling antialiasing per gli strumenti di disegno
  • Supporto agli Alpha Channel e ai Layer
  • Capacita' avanzate di scripting
  • Undo/Redo multiplo nel caso di GIMP
  • Gradient Design Tool avanzato
  • Tool di selezione (Bezier, Fuzzy, Intelligent)
  • Architetura plug-in
  • Supporto ai brush e ai pattern
Da una prima occhiata sembrerebbe che The Gimp sia in grado di offrire gratuitamente ciò che Photoshop offre invece a prezzi molto superiori (dell'ordine del milione e mezzo). Ma è proprio così ? In realtà il pacchetto soffre alcune mancanze che i suoi progettisti non hanno avuto probabilmente il tempo o la lungimiranza di implementare, e che quindi rendono The Gimp un programma incompleto se visto nell'ottica di Photoshop.
D'altrocanto non si poteva pretendere di più, visto che tutte le caratteristiche del programma di Adobe sono il frutto di anni di esperienza insostituibili, neanche da profonde conoscenze tecniche di cui sono senz'altro forniti Mattis e Kimball. Ciononostante The Gimp si rivela un ottimo prodotto, con alcune caratteristiche che fanno senz'altro impallidire Photoshop e che quindi mostrano il vero potenziale, non solo del programma, ma di tutto l'universo freeware di cui è figlio.

The GIMP: una panoramica

The Gimp è basato sulla libreria GTK, acronimo di Gimp Tool Kit, creata appositamente da Mattis e Kimball per sviluppare un'interfaccia utente che ricreasse il "look & feel" di Windows e Motif. Inizialmente distribuita insieme allo stesso The Gimp, la GTK si è poi differenziata da quest'ultimo, finendo per costituire un progetto a sè stante e che oggi rappresenta la base di moltissime altre applicazioni, tra cui citiamo il mastodontico progetto Gnome (http://www.gnome.org) che ha lo scopo di creare un'interfaccia utente coerente ed un ambiente oparativo semplice da usare e allo stesso tempo potente.
Ritornando a The Gimp, la versione 1.0 si presenta semplice da installare e non troppo invasiva, rispettando quei canoni di configurabilità che sono tipici del mondo Unix, come ad esempio la possibilità di sistemare nella propria Home Directory gran parte dei file di configurazione, i pattern, i brush e i plug-in che più ci aggradano. Finito il caricamento dei file necessari (in questo aspetto The Gimp è molto simile a Photoshop, che richiede una notevole quantità di tempo per tracciare tutti i file ad esso necessari la prima volta che viene avviato), The Gimp ci propone un'interfaccia molto simile a Photoshop in cui sono presenti elementi classici come la Tool Bar e la Layer & Channel View (vedi fig.1).
Ambiente operativo
Figura 1 - Ambiente operativo di The Gimp. Notiamo l'incredibile somiglianza con Photoshop: tutto merito della GTK.

Nella toolbar trovano posto ormai gli strumenti più comuni ed indispensabili al fotoritocco: Airbrush, Pencil, Clone, operatori vari per selezioni ecc. Ed è proprio in quest'ultima classe di tools che The Gimp comincia a mostrare i denti. Anzitutto scopriamo (con piacere) che la famosa Magic Wand (rinominata per l'occasione Fuzzy Selection) è stata ampliata ed aggiornata: tenendo premuto infatti il pulsante sinistro del mouse la bacchetta magica tenderà infatti ad aderire o meno ai bordi delle immagini, aggiornando in tempo reale la selezione e lasciando all'utente totale libertà di operare. In secondo luogo troviamo le Bezier Selection, che riproducono in maniera grossolana i più eleganti Path di Photoshop, di cui però vengono riprese le caratteristiche fondamentali: non è possibile per esempio aggiungere punti alla curva di Bezier e non è possibile salvarla per un successivo riutilizzo se non convertendola preventivamente in channel. E a questa mancanza si aggiunge la totale assenza dell'ottima Quick Selection di Photoshop.
Continuando a navigare tra i menu (tutti pop-up e attivabili attraverso il tasto destro del mouse) scopriamo con rammarico che l'unico modello di colore implentato è il classico RGB. Vengono lasciati fuori gli importantissimi CMYK e Lab. Questo significa tra l'altro che occorre fare a meno dell'utilissima indicazione che Photoshop forniva circa la stampabilità o meno di un colore (il famoso punto esclamativo del box di selezione colori). A parte questo, la gestione del colore di The Gimp è matura e completa. Ritroviamo tools essenziali come l'analisi a istogrammi delle componenti dei colori, strumenti per la manipolazione della saturazione, del bilanciamento, della brillantenza e della luminosità. C'è anzi da osservare l'incredibile somiglianza dei vari dialog box con i corrispettivi di Photoshop. Tutti i tool sono comunque forniti di preview in tempo reale, anche se è assente il famoso dialog Variations, che permetteva di avere anteprime comparative sul bilanciamento dei colori.
Passando al supporto per i layer (introdotti in Photoshop solo nella terza versione) e gli alpha channel, notiamo con piacere che sono state seguite le linee guida di Photoshop. La Layers & Channels View è del tutto simile alla corrispettiva di Adobe e permette di avere sempre sott'occhio le diverse componenti dell'immagine che stiamo elaborando. Da questa è possibile accedere a tutti comandi che modificano, in un modo o nell'altro, la configurazione e la conformazione dei layer, nonostante siano assenti alcuni meccanismi visuali e naturali (come il trascinamento dei layer) che permettono una migliore produttività. Nonostante questi però siano dettagli implementativi (soprattutto dovuti a carenze di GTK), una gravissima pecca riguarda la totale mancanza di qualsiasi tool per la modifica dei layer, eccezion fatta per lo scale e il resize. Vengono quindi a mancare quegli importantissimi tool che permettevano di ruotare, traslare, distorcere e prospettivare un layer, soprattutto con gli strumenti numerici di precisione che il concorrente mette a disposizione. I canali invece mantengono invece inalterate gran parte delle loro caratteristiche, anche se avremmo preferito una implementazione a 16-bit di tonalità di grigio delle maschere: è un po' come sentire una cassetta al posto di un CD.

Filtri & Plug-In

Riguardo ai filtri The Gimp è senz'altro molto fornito. La sua dotazione comprende i filtri fondamentali, quali :

  • Blur, presente in versione normale, Gaussian (IIR e RLE per essere precisi) e Pixelize, che crea il tipico effetto mosaico.
  • Artistic, a dir la verità un po' scarna visto che gli unici disponibili sono Cubism, Mosaic e Oilify.
  • Distorts, dove ritroviamo quasi tutti i filtri tipici di Photoshop, più alcune chicche come l'abusatissimo Page Curl (disponibile nel programma di Adobe con programmi di terze parti).
  • Edge Detection, presente anche in versioni più sofisticate, come Laplace e Sobel.
  • Light Effects, come il familiare Lens Flare, qui ribatezzato FlareFX, ed alcuni entusiasmanti effetti come lo Sparkle e il Supernova, veramente molto spettacolare.
  • Map, dove troviamo una seria di filtri familiari ed altri, anche molto complessi, di grande effetto. Degni di nota sono il Map Object, che, attraverso un'infinità di opzioni, permette di mappare l'immagine su un oggetto, scegliendone orientazione, tipo di luce, materiale etc. Illusion, che crea ripetizione dell'immagine di base per dare l'idea di un complesso gioco di specchi. Il Bump Mapping, che qui troviamo in una versione migliorata e più flessibile, in grado di produrre effetti veramente notevoli. E infine il Fractal Trace che mappa l'immagine in un frattale, completamente definibile.
  • Noise, dove troviamo tra l'altro il corrispettivo Photoshop del Despeckle.
Oltre a questa ricca dotazione di base, troviamo quelli che potrebbero essere definiti plug-in, anche se in The Gimp questa definizione è effetivamente impropria, in quanto gran parte delle funzionalità del programma sono implementate utilizzando un'architettura a plug-in, in modo da permettere la più grande estendibilità (vedi dopo). Tra i filtri di maggior interesse troviamo comunque :
  • Max RGB, il cui funzionamento prevede di eliminare le componenti meno (o più) dominanti di un determinato pixel. Risulta molto utile per selezionare forme delimitate da cambiamenti di tonalità.
  • Colorify, che permette di ottenere in maniera facile e veloce la colorazione dell'immagine con un determinato colore (in Photoshop avremmo prima convertito l'immagine in Grayscale, quindi in RGB, e poi avremo bilanciato i colori per ottenere l'effetto voluto).
  • HSV Scatter attraverso la quale potrete giocare a "spargere" le componenti Hue, Saturation e Value dell'immagine per creare effetti molto interessanti, quali effetto fotocopia ed altri.
  • Glass che decompone e distorce l'immagine in modo che sembri essere vista attraverso un vetro smerigliato.
  • Flame, veramente uno dei più spettacolari effetti presenti in the Gimp, e che non ha veramente eguali. In pratica questo filtro sovrappone all'immagine originale, l'immagine di un frattale (probabilmente un attrattore caotico di qualche tipo). Variando i parametri del frattale (zoom, coordinate, brillantezza, lucentezza, gradienti di colore) si riescono ad ottenere fantastici effetti psichedelici.
  • Diffraction Patterns, che ricrea le figure di interferenza e diffrazione tipiche dei fenomeni ondulatori.
  • Despeckle. No, non è un errore di battitura. In realtà è presente anche un filtro con questo nome, ma il suo funzionamento è ben più sofisticato del despeckle cui siamo abituati.
  • Qbist, simile nel funzionamento al famoso Fractal Explorer dei KPT Tools, ma con un corredo più elementare di frattali, nonostante sia possibile raggiungere raggurdevoli risultati, come riflessi cromati o rumore molto complicato.
A questi poi vanno aggiunti gli innumerevoli plug-in presenti su Internet nel plug-in registry (http://registry.gimp.org/). Se ne possono trovare di estremamente interessanti, come un filtro che esegue la trasformata di Fourier bidimensionale dell'immagine, e anche molto eccentrici, come plug-in per la generazione automatica di labirinti, di griglie psichedeliche e addirittura in grado di caricare formati grafici impossibili o desueti, come per esempio quello in grado di caricare (incredibile) i file .map di Civilization II. A parte tutto però, a causa dell'incredibile estendibilità di The Gimp, i plug-in più importanti si rivelano quelli che implementano nuovi linguaggi di scripting, di cui parleremo tra poco. Godetevi intanto questa carrellata di effetti (fig.2).
Carrellata di Filtri
Figura 2 - Carrellata di filtri. A partire da in alto a sinistra, in senso orario: Flame, Supernova, Film, Glass Tile, HSV Scatter ed Emboss.

Un mondo di scripting

Quello di cui abbiamo parlato fin ora non è che una piccolissima parte delle potenzialità di The Gimp. Il vero punto forte di questo programma è senz'altro l'elevato grado di estendibilità, grazie all'implementazione di un registro dei moduli presenti nel programma al momento dell'esecuzione e disponibili all'interno del programma stesso sotto forma di API, attraverso la quale è possibile accedere a qualsiasi funzione disponibile. Sono presenti moduli che caricano le immagini, che ne creano di nuove e che gestiscono i layer, gli alpha channel e i tools. Ogni plug-in poi è presente in forma di API stesso, così da poter essere richiamato all'interno di un altro. Questo ha permesso una grandissima proliferazione di plug-in e script che ormai soddisfano molte esigenze dell'utente, senza che questo debba impazzire per crearne di nuovi. I linguaggi supportati poi sono numerosissimi, grazie al fatto che tali funzionalità sono gestite anch'esse via plug-in: Java, Perl, C++, Tcl/Tk ecc. Tuttavia il più presente fra questi è senza dubbio Scheme, un linguaggio funzionale basato su atomi e liste, molto simile ad ML (MetaLanguage, http://www.cl.cam.ac.uk/users/lcp/MLbook). In particolare, gli script e i plug-in scritti con questo linguaggio, godono della possibilità di essere inseriti all'interno della Script-Fu, una console in grado di eseguire tali programmi e che occupa una posizione privilegiata all'interno dell'interfaccia.
Le applicazioni sono innumerevoli, soprattutto se pensiamo alla gestione di siti Web particolarmente complessi. Pensate di progettare un layout coerente per tutte le vostre pagine, e che The Gimp, attraverso l'uso di script, sia in grado di generare gran parte della grafica in essa contenuta: bottoni, scritte, indicatori ecc. Certo, The Gimp non può sostituire l'inventiva e il talento che contraddistingue un buon Web Master, ma può senz'altro aiutarlo a rendere più agevole e automatica la generazione e l'aggiornamento dei siti Web.
Nella distribuzione standard del programma sono presenti alcuni script di esempio che automatizzano proprio i processi che abbiamo appena descritto. Una classe importante di plug-in permette poi la creazione di animazioni, che possono essere convertite in GIF animate (o altri formati, utilizzando plug-in esterni) per essere utilizzate sul Web. Questo rende The Gimp il programma ideale per la creazione di banner e logo animati, come si può vedere in fig. 3.

Esempio di GIF animata
Figura 3 - Esempio di GIF animata. L'immagine di base è stata creata con un semplice script fornito a corredo, ed è stata in seguito animata con un altro script. Poi The Gimp ha provveduto a convertire il tutto in formato GIF

Conclusioni

Siamo giunti alla conclusione. Senz'altro, utilizzare The Gimp si è rivelata una gran bella esperienza, soprattutto in considerazione del fatto che il mastodontico programma è stato creato in maniera assolutamente free e liberamente distribuibile. Ed è proprio questa la forza di The Gimp, che ripercorre un po' le tappe che a suo tempo furono proprie di Linux stesso. Immaginate centinaia di utilizzatori entusiasti e con un bagaglio complessivo di esperienza non indifferente, collaborare insieme per estendere The Gimp attraverso nuovi plug-in, script, funzionalità. Potenzialmente The Gimp è tranquillamente in grado di superare il più blasonato Photoshop, ed in effetti in alcuni aspetti si rivela già molto avanti rispetto a questo programma. Basti solo pensare alla gestione delle animazioni: pensate che ci sono progetti di plug-in che tenderebbero a far diventare The Gimp un editor non-lineare di filmati digitali, andando quindi a colpire Adobe proprio sul suo collaudato Premiere! e sul neonato AfterEffects, visto che praticamente ogni effetto presente in The Gimp può facilmente essere integrato nelle animazioni. The Gimp poi si rivela un ottimo strumento didattico, che può essere utilizzato efficacemente per la realizzazione veloce di schemi e diagrammi: già questo è possibile attraverso il complesso plug-in GFig.
Ci sono però dei punti su cui occorre lavorare. A parte tutte le mancanze che abbiamo prima enumerato, The Gimp non supporta in alcun modo le estensioni MMX dell'ultima generazione di processori, o la presenza di una seconda CPU all'interno della macchina, cose entrambe supportate da Photoshop sotto Windows NT. Nonostante ciò, The Gimp prevede gli Undo multipli, un'ottima gestione dei formati grafici, in particolare del formato PSD proprio di Photoshop, una robusta gestione della memoria e un ottimo supporto per il Web. Insomma, come sempre, solo il tempo potrà essere l'unico giudice in grado di decretare il successo di questa straordinaria impresa, anche se stavolta le probabilità di riuscita sono senz'altro molto alte.

Clicca qui per maggiori informazioni


Cristiano Paris è studente di Ingegneria Informatica presso la seconda Università di Roma "Tor Vergata" ed è Articolista di BETA dal 1995; i suoi interessi vertono principalmente sulla teoria e l'elaborazione dei segnali digitali, dell'intelligenza artificiale e della matematica analitica ed algebrica. E' raggiungibile su Internet tramite la redazione oppure all'indirizzo c.paris@flashnet.it.

Copyright © 1998 Paris Cristiano, tutti i diritti sono riservati. Questo Articolo di BETA, insieme alla Rivista, è distribuibile secondo i termini e le condizioni della Licenza Pubblica Beta, come specificato nel file LPB.


BETA Rivista | Copertina | Sommario | InternetID | Informazioni | Browser
BETA Sul Web: http://www.beta.it

Copertina Sommario Internet ID Informazioni Browser
Home Page BETA Rivista Indice Articoli Beta Editore, articoli e pubblicazioni Beta2, contributi esterni BETA Logo, siti premiati Premio BETA Logo Licenza Article/Document Definition Format Promozione Pubblicita' Mirroring Mirror Ufficiali BETA Navigatore NavSearch Novità BETA Stampa/Press Releases BETA Settori online Eventi Public Bookstore (libreria) Settori riservati Redazione