La prima cosa che si desidera fare quando si dispone di un ambiente grafico, quale è X, è quella di poter disegnare ed elaborare immagini. I primi programmi che permettevano di fare queste cose, appartenendo al software libero, sono stati un po' strani e non uniformi tra loro per quanto riguarda il loro utilizzo. Attualmente, le cose stanno cambiando, ma conviene comunque tenere conto anche dei programmi più vecchi, che possono essere utili in situazioni particolari.
La tabella 72.1 elenca i programmi a cui si accenna in questo capitolo. Per la precisione si fa riferimento ai nomi degli eseguibili.
Programma | Descrizione |
xwd | Cattura lo schermo. |
xwud | Visualizza le immagini catturate da xwd . |
xgrab | Cattura lo schermo e salva in vari formati. |
xloadimage | Visualizza e modifica i file di immagine. |
xpaint | Disegno e fotoritocco. |
gimp | Disegno e fotoritocco. |
ee | Visualizza e modifica i file di immagine. |
convert | Converte i file di immagini. |
mogrify | Converte i file di immagini. |
animate | Visualizza un'animazione. |
import | Cattura una porzione dello schermo. |
display | Visualizzazione e fotoritocco. |
xanim | Visualizza un'animazione. |
Per preparare documentazione tecnica su applicativi per X è indispensabile poter catturare delle immagini dallo schermo stesso. I programmi che permettono di fare questo potrebbero avere un limite nella profondità di colori delle immagini; in generale non dovrebbero esserci problemi quando si opera con una profondità di 8 bit (256 colori).
xwd [<opzioni>] |
xwd
permette di catturare delle immagini dallo schermo di X. L'immagine ottenuta viene emessa attraverso lo standard output, di conseguenza, questo viene ridiretto quasi sempre, ovvero viene trattato attraverso una pipeline. Quando il programma viene avviato, appare immediatamente un puntatore particolare e basta fare un clic sulla finestra che si intende catturare.
|
Non include i bordi della finestra.
|
Include anche la cornice del gestore di finestre.
|
Permette di specificare un file di destinazione diverso dallo standard output.
|
Cattura tutta la superficie grafica.
$
xwd > pippo
Avvia xwd
in modo da catturare un'immagine e di ottenere il file pippo
come risultato.
$
xwd
-
frame > pippo
Avvia xwd
in modo da catturare una finestra completa di cornice. Come nell'esempio precedente, viene creato il file pippo
.
xwud [<opzioni>] |
xwud
permette di visualizzare immagini generate con il programma xwd
. L'immagine viene ottenuta dallo standard input e viene emessa in una finestra indipendente. L'utilità di xwud
sta nella possibilità di controllare il contenuto dei file ottenuti con xwd
prima di altri trattamenti eventuali.
$
xwd | xwud
-
display roggen.brot.dg:0.0
Avvia xwd
in modo da catturare un'immagine che poi passa a xwud
per la visualizzazione su un elaboratore remoto.
xgrab |
xgrab
è un programma che, attraverso xgrabsc
, permette la cattura di immagini in modo relativamente semplice. In pratica, il programma che compie il lavoro è xgrabsc
, ma richiede l'uso di opzioni dettagliate, mentre xgrab
funge da interfaccia frontale a questo. Il vantaggio fondamentale nell'usare xgrab
invece di xwd
sta nell'intervallo di tempo lasciato a disposizione dal momento in cui si conferma l'azione che si vuole compiere al momento in cui si deve selezionare la zona da catturare. Ciò consente, per esempio, di richiamare una finestra in primo piano o di fare qualche altra piccola operazione. Un'altra particolarità importante di questo programma sta nella possibilità di scegliere il formato del file di destinazione.
xgrab
non è parte dei programmi di utilità standard di X, ma è comunque raggiungibile facilmente attraverso la rete.
Figura 72.1:
xgrab
impostato per catturare una finestra intera, completa di cornice, e generare il file screen1.dmp
in formato ppm
.
Xloadimage è un applicativo per la gestione di immagini, semplice ma efficace. Il nome suggerisce che possa servire per caricare, e quindi visualizzare, delle immagini, ma in più permette di trasformare un'immagine in un formato differente e di modificare alcune regolazioni essenziali. Non si tratta di un sistema completo per la gestione e il ritocco di immagini, ma le funzioni che mette a disposizione sono molto importanti.
xloadimage [<opzioni-globali>] {[[<opzioni-dell'immagine>] <immagine>]}... |
xloadimage [<opzioni-globali>] [<opzioni-dell'immagine>] stdin |
L'eseguibile xloadimage
prevede due tipi di opzioni: globali e particolari. Le prime devono apparire nella prima parte degli argomenti della riga di comando, mentre le altre precedono l'indicazione dell'immagine a cui si riferiscono. Le opzioni particolari vanno quindi messe davanti al nome di ogni immagine che si intente trattare (sempre che ce ne sia bisogno). Eventualmente, è possibile fare in modo che xloadimage
utilizzi lo standard input, per questo si deve utilizzare il nome stdin
al posto dell'indicazione di un'immagine.
Xloadimage ha due pseudonimi: xsetbg
e xview
. Il primo equivale a xloadimage
mentre il secondo equivale a -
onroot -
quietxloadimage
.
-
view -
verbose
Quando Xloadimage viene utilizzato per visualizzare un gruppo di immagini, è possibile usare alcuni tasti per passare da un'immagine all'altra e per terminare l'esecuzione:
[n] passa all'immagine successiva;
[barra spaziatrice] passa all'immagine successiva;
[p] torna all'immagine precedente;
[q] fine lavoro.
Se l'immagine non è contenuta completamente nella sua finestra, la si può fare scorrere con l'aiuto del mouse, premendo il primo tasto e trascinando nella direzione desiderata.
Le opzioni globali hanno effetto su tutte le immagini su cui si opera. Data la loro funzione è opportuno che siano collocate prima dell'indicazione delle opzioni particolari, e comunque prima dei file.
|
Utilizza tutto lo schermo per visualizzare ogni immagine.
|
Questa opzione funziona nel modo solito: determina le dimensioni della finestra.
|
Colloca l'immagine nella finestra principale, utilizzandola come fondale. Quando Xloadimage viene avviato con lo pseudonimo xsetbg
, questa opzione è predefinita.
|
Visualizza le immagini in una finestra, invece che utilizzare la finestra principale. Questa opzione è attiva in modo predefinito nel caso in cui il programma venga avviato con il suo nome o anche con lo pseudonimo xview
.
|
Definisce il colore di fondo delle zone che non sono coperte dall'immagine da visualizzare.
|
Permette di specificare in modo esplicito il tipo di visualizzazione desiderato. I tipi disponibili sono: DirectColor
, TrueColor
, PseudoColor
, StaticColor
, GrayScale
, StaticGray
.
|
Permette di generare un file contenente l'immagine nel formato specificato. Le opzioni di formato dipendono dal tipo di questo, e possono esserne indicate diverse, separandole con una virgola (senza spazi). A seconda del tipo di formato di immagine e del tipo di opzione, potrebbe essere necessario aggiungere un attributo a questa, nella forma <opzione>=<valore>
. La tabella
72.2 mostra i tipi di formato leggibili e quelli in cui è possibile salvare.
|
Forza Xloadimage a utilizzare un determinato formato per caricare un'immagine. Normalmente è il programma stesso a determinare autonomamente di quale tipo si tratti
|
Mostra la configurazione di Xloadimage. La configurazione viene descritta più avanti.
|
Emette, attraverso lo standard output, un elenco di formati di immagini gestiti.
|
Permette di ottenere informazioni su una o più opzioni specificate. Se non ne vengono indicate, inizia una modalità interattiva, attraverso la quale è possibile ottenere brevi guide alle opzioni indicate durante tale sessione.
|
Invece di visualizzare le immagini, si ottiene solo la loro identificazione, con una serie di messaggi emessi attraverso lo standard output.
|
Determina una durata di permanenza di ogni immagine. Serve per permettere uno scorrimento automatico delle immagini indicate come argomento, come una sequenza di diapositive. Senza l'indicazione di questo valore, è l'utente che deve agire per visualizzare l'immagine successiva.
|
Fa in modo di dissociare Xloadimage dalla shell dalla quale è stato eseguito. In pratica, con questa opzione, il processo elaborativo diventa un figlio di Init indipendente dalla shell che lo ha generato.
|
Fa in modo che Xloadimage dia delle informazioni, attraverso lo standard output, sulle caratteristiche dell'immagine. Questa opzione è attiva in modo predefinito nel caso l'eseguibile venga avviato con il suo nome normale o anche con lo pseudonimo xview
.
$
xloadimage
-
onroot fondale.jpg
Carica l'immagine fondale.jpg
e la colloca sulla finestra principale, cioè sullo sfondo della superficie grafica.
$
xloadimage
-
dump jpeg,quality=50 prova.jpg immagine.gif
Carica l'immagine immagine.gif
e la salva in formato JPEG, con il nome prova.jpg
, riducendo la sua qualità.
Le opzioni particolari hanno effetto solo sull'immagine che precedono. Alcune opzioni particolari possono essere generalizzate, cioè riferite a più immagini, attraverso l'opzione
.
-
global
|
Inizia una serie di opzioni (seguenti) riferite a tutte le immagini che seguono, eventualmente fino al raggiungimento di un'opzione
. Eventuali opzioni particolari inserite davanti a una particolare immagine, possono servire per alterare temporaneamente queste impostazioni globali.
-
newoptions
|
Azzera le opzioni fissate globalmente.
Le immagini che hanno solo due colori, solitamente bianco e nero, possono essere alterate in modo da sostituire tali colori.
|
Con questa opzione si sostituisce il «bianco» delle immagini a due colori.
|
Con questa opzione si sostituisce il «nero» delle immagini a due colori.
|
Inverte i colori di un'immagine a due colori.
|
Permette di definire la percentuale della luminosità dell'immagine. 100 equivale a lasciare inalterata l'immagine.
|
Permette di fissare il numero massimo di colori. È un mezzo per ridurre i colori di un'immagine.
|
Trasforma l'immagine in una monocromatica (due colori) utilizzando una tecnica molto semplice, che di solito espande notevolmente l'immagine.
|
Trasforma l'immagine in una monocromatica (due colori) utilizzando l'algoritmo Floyd-Steinberg che offre un effetto decisamente migliore di quanto si ottiene con l'opzione
.
-
halftone
|
Permette di effettuare una correzione di gamma in funzione delle caratteristiche del monitor che si utilizza. Il valore predefinito, quando questa opzione non viene utilizzata, è 1.0, mentre un monitor tipico può richiedere valori da 2.0 a 2.5.
|
Converte i colori di un'immagine in modo che si utilizzino solo dei grigi.
|
Ammorbidisce l'immagine, un po' come se fosse sfuocata. Serve in particolare per addolcire l'effetto che si ottiene quando un'immagine viene ingrandita. Questa opzione può essere indicata più volte in modo da ottenere più passaggi.
|
Preleva solo una porzione dell'immagine. Si parte dalle coordinate x,y e da lì si preleva un rettangolo della larghezza e altezza indicati (verso destra e verso il basso). Se la larghezza o l'altezza sono lasciati a zero, si intende tutta l'estensione rimanente dell'immagine.
|
Questa opzione è particolarmente riferita a un'immagine successiva alla prima. La prima immagine viene indicata come immagine base e su di essa è possibile sovrapporne un'altra a partire dalla posizione indicata dalle coordinate di questa opzione.
|
Permette di fondere l'immagine, dopo un'eventuale rielaborazione, sull'immagine base. Questa opzione viene utilizzata normalmente in combinazione a
e -
at
.
-
clip
|
Ruota l'immagine della quantità di gradi indicata. Si possono utilizzare solo multipli di 90.
|
Ridimensiona l'immagine della percentuale indicata. Il valore 100 rappresenta la dimensione normale.
|
Ridimensiona l'immagine in orizzontale: l'allarga o la restringe.
|
Ridimensiona l'immagine in verticale: l'allunga o l'accorcia.
$
xloadimage
-
zoom 200 esempio.jpg
Carica l'immagine esempio.jpg
, ingrandendola al doppio della sua dimensione originale (200%).
$
xloadimage pippo.jpg
-
merge -
at 50,50 -
clip 50,50,100,100 -
brighten 150 pippo.jpg
Carica l'immagine pippo.jpg
, quindi carica nuovamente una parte della stessa immagine e, dopo averla schiarita, la fonde con la versione caricata precedentemente, nella stessa posizione di partenza del pezzetto ritagliato. In pratica, si ottiene di schiarire un'area dell'immagine originale.
Quando si utilizza l'opzione
, è possibile specificare il tipo di immagine che si vuole ottenere. Oltre al tipo, potrebbe essere possibile o necessaria l'indicazione di argomenti ulteriori, dal momento che molti formati gestiscono diverse modalità. Sotto questo aspetto, un formato viene definito con la sintassi seguente:
-
dump
<formato>[,<opzione-di-formato>[=<valore>]] <file-da-generare> |
aritmetic |
Codifica aritmetica.
grayscale |
Trasforma un'immagine a colori in una a scala di grigi.
nointerleave |
Crea un file non-interleaved.
entropy |
Abilita l'ottimizzazione del parametro entropy
quality=<percentuale-qualità> |
Regola la qualità dell'immagine da creare. Il valore predefinito è 75; valori inferiori creano immagini più povere.
smooth=<fattore-di-sfumatura> |
Permette di regolare il fattore di sfumatura. Sono ammissibili tutti i valori da 0 a 100, estremi inclusi.
normal |
Utilizza il formato normale.
raw |
Utilizza il formato RawBit. È la modalità predefinita quando si utilizza il tipo BPM.
compression=<tipo-di-compressione> |
Il tipo di compressione può essere uno dei seguenti:
lzw
Limpel-Ziv-Welsh, predefinita;
none
nessuna compressione;
rle
CCITT RLE;
g3fax
CCITT Group 3 FAX;
g4fax
CCITT Group 4 FAX;
rlew
CCITT RLEW;
mac
Macintosh PackBits;
packbits
Macintosh PackBits;
thunderscan
ThunderScan.
Formato | | Descrizione |
niff | Sì | Native Image File Format (NIFF) |
sunraster | No | Sun Rasterfile |
gif | No | GIF Image |
jpeg | Sì | JFIF-style JPEG Image |
fbm | No | FBM Image |
cmuraster | No | CMU WM Raster |
pbm | Sì | Portable Bit Map (PBM, PGM, PPM) |
faces | No | Faces Project |
rle | No | Utah RLE Image |
xwd | No | X Window Dump |
vff | No | Sun Visualization File Format |
mcidas | No | McIDAS areafile |
vicar | No | VICAR Image |
pcx | No | PC Paintbrush Image |
gem | No | GEM Bit Image |
macpaint | No | MacPaint Image |
xpm | No | X Pixmap |
xbm | No | X Bitmap |
-
dump
. Questo elenco può essere ottenuto attraverso l'opzione -
support
.
Per facilitare l'utilizzo di questo programma è possibile definire una configurazione personalizzata attraverso il file ~/.xloadimagerc
. Nello stesso modo può essere predisposto un file di configurazione globale per tutto il sistema: /usr/X11R6/lib/X11/Xloadimage
.
All'interno di questi file possono essere indicati tre tipi di informazione: path
, extention
e filter
.
---------
path = <percorso-di-ricerca> ... |
Con questa dichiarazione può essere indicato un elenco di percorsi all'interno dei quali possono essere cercati i file delle immagini. L'elenco è formato dai vari percorsi separati da uno o più spazi, caratteri di tabulazione o codici di interruzione di riga.
extention = <estensione> ... |
Permette di indicare una serie di estensioni possibili da aggiungere ai nomi delle immagini per ottenere la corrispondenza con i nomi dei file. I file vengono cercati tentando le varie estensioni, nell'ordine in cui sono. L'elenco di estensioni è separato attraverso uno o più spazi, caratteri di tabulazione o codici di interruzione di riga.
filter = <programma> <estensione> |
Specifica il programma attraverso il quale deve essere filtrato il file dell'immagine se questo termina con l'estensione indicata. Questo permette di accedere facilmente a file compressi. Le estensioni .Z
e .gz
sono già riconosciute e trattate correttamente attraverso il programma adatto.
Se qualche elemento contiene spazi, si possono utilizzare i doppi apici per evitare che questi spazi vengano interpretati come una separazione, ovvero l'inizio di un altro valore. Si può utilizzare la barra obliqua inversa (\
) per poter includere gli apici doppi tra i caratteri normali e per permettere la continuazione, quando questa barra precede il codice di interruzione di riga.
Il simbolo #
permette di indicare l'inizio di un commento, fino alla fine della riga. Come al solito, le righe bianche e quelle vuote vengono ignorate.
# Percorsi da scandire alla ricerca di file di immagini path = /usr/local/immagini ~/immagini # Estensioni predefinite extention = .gif .jpg # Utilizza gzip se vengono trovate estensioni .gz .z .zip filter = "gzip -cd" .gz .z .zip |
XPaint è un programma per il disegno e il fotoritocco, di buona qualità. A prima vista potrebbe non sembrarlo, ma quando si apprende la logica del suo funzionamento si scopre il suo valore.
XPaint dipende dalle caratteristiche dello schermo, ovvero dalla profondità di colori gestiti nel momento in cui lo si utilizza. Se per ipotesi venisse utilizzato su uno schermo configurato per gestire esclusivamente i grigi, si potrebbero salvare solo immagini in scala di grigi. Questo significa che l'elaborazione di immagini di qualità superiore a quanto visualizzabile sullo schermo comporta una perdita di qualità.
xpaint [<opzioni>] [<file>...] |
XPaint è un programma interattivo e solitamente non viene usata alcuna opzione e nemmeno alcun nome di file. Se si indicano dei file, questi vengono caricati in altrettante finestre per il disegno o fotoritocco.
XPaint utilizza una finestra di strumenti contenente un menu per le operazioni più importanti, quali il caricamento di altri file di immagini o la creazione di una nuova immagine, e una serie di icone che fanno riferimento ad altrettanti strumenti per il disegno.
A fianco della finestra degli attrezzi si collocano le finestre per il fotoritocco o per il disegno. Ognuna ha una propria tavolozza di colori. Sono consentite le operazioni di taglia-copia-incolla tra finestre differenti.
|
Permette di definire la dimensione predefinita per la creazione di finestre vuote per il disegno.
|
Definisce il nome e la collocazione di un file di configurazione diverso da quello predefinito, che altrimenti è ~/.XPaintrc
.
|
Prepara una finestra vuota per il disegno all'avvio, senza bisogno di doverla richiedere espressamente durante il funzionamento del programma.
|
Senza utilizzare questa opzione, il programma avvisa ogni volta, attraverso lo standard error, della possibile perdita di informazioni quando si elaborano immagini con schermi di limitate capacità. In pratica, con questa opzione, si vuole evitare di vedere ogni volta il messaggio seguente:
XPaint uses the native display format for storing image info while editing; the original image information is thrown away. This means that, in general, color information is irretrievably lost when using any display depth less than 24 bits. More specifically, for depths less than 8 bits, both 24-bit (true-color) and 8-bit (palette) images will be reduced to the display depth; for 8-bit displays, standard color-mapped images are safe but 12-bit color-mapped and 24-bit true-color images will lose color information; for 15- and 16-bit displays (typically RGB 555 and 565, respectively), in general both 8-bit and 24-bit images will suffer data loss; and for 24- or 32-bit displays, only very deep images such as 16-bit grayscale or 48-bit true-color will lose data. Also note that any ancillary information associated with the original image (embedded comments, time stamp, copyright, etc.) will always be lost. Your display depth is 8 bits. ============================================================= WARNING! Most true-color images will suffer major data loss! ============================================================= |
XPaint.patternsize: <pixel> |
Permette di definire la dimensione in pixel dei quadratini colorati che compongono la tavolozza dei colori di ogni finestra di disegno. Le dimensioni possibili vanno da 4 a 64 pixel, mentre il valore predefinito è 24.
$
xpaint sole.jpg
Carica il file sole.jpg
in una finestra per il disegno.
$
xpaint
-
xrm 'XPaint.patternsize: 10'
Avvia il programma modificando la risorsa XPaint.patternsize
in modo da avere una tavolozza dei colori un po' più compatta del solito.
La figura 72.2 mostra la finestra degli attrezzi di XPaint.
Figura 72.2:
La finestra degli attrezzi di XPaint.
Le varie icone rappresentano ognuna una modalità di disegno o di selezione sulle varie finestre di disegno. Il funzionamento del menu è abbastanza semplice, in particolare, il menu File
permette di caricare una nuova immagine, oppure di aprire una nuova finestra vuota per il disegno. Si noti in particolare la presenza del menu Help
dal quale si accede a una guida interna ben organizzata.
XPaint apre tante finestre di disegno quante sono le immagini da elaborare. La figura 72.3 ne mostra una all'interno della quale appare già un'immagine.
Figura 72.3:
XPaint utilizza una finestra di disegno per ogni immagine.
Nella parte inferiore ci sono due tavolozze di colori e modelli: normalmente la prima riguarda il tratto e la seconda il fondale. Per esempio, se dalla finestra degli attrezzi si seleziona l'icona del rettangolo pieno, quando si disegna, il contorno del rettangolo utilizza il primo colore o modello, mentre il contenuto utilizza il secondo. Alla tavolozza possono essere aggiunti nuovi colori (solid) o modelli (pattern).
Ciò che è importante da ricordare è che il controllo sullo strumento usato per disegnare è sempre fatto attraverso la finestra degli attrezzi.
L'uso del menu è abbastanza intuitivo. In particolare, File
permette solo di salvare (il caricamento è a carico della finestra degli attrezzi). Salvando è possibile cambiare formato o salvare solo una porzione selezionata dell'immagine.
Molte operazioni di fotoritocco che possono essere controllate dalla finestra di disegno si riferiscono (o possono riferirsi) a una zona rettangolare selezionata precedentemente. Per ottenere questa selezione si utilizza l'icona apposita (quella del ritaglio rettangolare) della finestra degli attrezzi.
Se si applicano delle alterazioni all'immagine intera, potrebbe capitare di non vederne il risultato. Si può provare a ridurre a icona la finestra e a ripristinarla: dovrebbe funzionare. |
La figura 72.4 mostra alcuni esempi di fotoritocco applicati a zone dell'immagine.
Figura 72.4:
Alcuni esempi delle possibilità di fotoritocco di XPaint.
Il sistema di annullamento delle azioni (undo) è a più livelli e regolabile, a volte però potrebbe capitare di non vedere la reazione sull'immagine. È sempre bene provare a ridurre la finestra a icona e poi a ripristinarla per verificare l'esatta situazione dell'immagine.
Gimp è acronimo di Gnu Image Manipulation Program e si tratta proprio di questo: un programma di manipolazione delle immagini. È il programma di punta del gruppo di lavoro che si occupa di realizzare l'ambiente integrato Gnome. Si tratta di un programma di ottima qualità che consente il disegno normale e il ritocco delle immagini.
gimp [<opzioni>] [<file>...] |
Gimp ha una filosofia simile a quella di XPaint: pur trattandosi di un programma interattivo, permette di eseguire alcune operazioni attraverso l'indicazione di opzioni della riga di comando. Se si indicano dei file, questi vengono caricati in altrettante finestre per il disegno o fotoritocco.
Gimp, come XPaint, utilizza una finestra di strumenti contenente un menu per le operazioni più importanti, quali il caricamento di altri file di immagini o la creazione di una nuova immagine, e una serie di icone che fanno riferimento ad altrettanti strumenti per il disegno.
A fianco della finestra degli attrezzi si collocano le finestre per il fotoritocco o per il disegno. Queste hanno un menu a cui si accede premendo il terzo tasto del mouse (quello destro), e a differenza di XPaint, non contengono la tavolozza di colori, che invece è incorporata nella finestra degli strumenti.
Gimp, e probabilmente anche gli altri della serie a cui appartiene, non aderiscono più agli standard dei vecchi programmi che utilizzavano le prime librerie grafiche. Quindi, le opzioni tradizionali, come |
|
Permette di specificare le coordinate dello schermo su cui dovranno apparire le finestre di Gimp.
La figura 72.5 mostra la finestra degli strumenti di Gimp.
Figura 72.5:
La finestra degli strumenti di Gimp.
Le varie icone rappresentano ognuna una modalità di disegno o di selezione sulle varie finestre di disegno. Il funzionamento del menu è abbastanza semplice, in particolare, il menu File
permette di caricare una nuova immagine, oppure di aprire una nuova finestra vuota per il disegno.
Gimp apre tante finestre di disegno quante sono le immagini da elaborare. La figura 72.6 ne mostra una all'interno della quale appare già un'immagine.
Figura 72.6:
Gimp utilizza una finestra di disegno per ogni immagine.
Su queste finestre non si vede alcun menù, questo si ottiene premendo il terzo tasto del mouse. Come nel caso di XPaint, il controllo sullo strumento usato per disegnare è sempre fatto attraverso la finestra degli strumenti.
Come nel caso di XPaint, molte operazioni di fotoritocco che possono essere controllate dalla finestra di disegno si riferiscono (o possono riferirsi) a una zona selezionata precedentemente. Per ottenere questa selezione si utilizza l'apposita icona della finestra degli attrezzi.
La figura 72.7 mostra alcuni esempi di fotoritocco applicati a zone dell'immagine.
Figura 72.7:
Alcuni esempi delle possibilità di fotoritocco di Gimp.
Electric Eyes è un altro degli applicativi grafici nati attorno a Gnome. Si tratta di un programma di visualizzazione delle immagini da usare al posto di Gimp quando si vuole qualcosa di più semplice e leggero. Eventualmente, Electric Eyes è in grado di apportare delle piccole modifiche alle immagini, che poi possono essere salvate anche in altri formati; si tratta di ingrandimenti e riduzioni, rotazioni, ribaltamenti speculari e correzioni del colore. È interessante la possibilità di catturare le immagini sullo schermo e anche quella di ritagliare facilmente delle porzioni da salvare a parte. Electric Eyes si compone di un unico eseguibile: ee
.
ee [<file-da-visualizzare>...] |
ee
è l'eseguibile che compone Electric Eyes. Allo stato attuale riceve solo un tipo di argomento: i nomi dei file che si vogliono visualizzare. Se non viene indicato alcun file, si ottiene l'apertura della finestra di visualizzazione del programma con un'immagine di presentazione; se si indica un solo file, si ottiene la stessa finestra contenente l'immagine corrispondente a quel file (figura
72.8); se si indicano più file, si ottiene la visualizzazione della prima immagine e una finestra aggiuntiva con l'elenco dei file selezionati, ed eventualmente un'anteprima per ognuno (si vede nella figura
72.9).
Figura 72.8:
Quando si avvia l'eseguibile ee
con l'indicazione di un solo file, se ne ottiene la sua visualizzazione.
Figura 72.9:
Quando si avvia ee
con l'indicazione di più file, si ottiene anche una finestra con l'elenco di questi per facilitarne lo scorrimento e la visualizzazione.
Attraverso il mouse, quando il puntatore si trova sopra la superficie dell'immagine visualizzata, se si preme il tasto destro si ottiene un menu a scomparsa, se si preme il tasto centrale si può delimitare un'area rettangolare che può servire per ridurre l'immagine alla sola selezione (crop).
Per il resto, il funzionamento di questo programma dovrebbe essere abbastanza intuitivo.
ImageMagick è un pacchetto di programmi di utilità per la visualizzazione, la conversione e la manipolazione di immagini. La sua potenza sta proprio nella facilità con cui i programmi che lo compongono possono essere utilizzati in modo sistematico attraverso degli script.
Nell'uso dei programmi che compongono ImageMagick si incontrano situazioni comuni, che vengono regolate da opzioni che utilizzano la stessa sintassi. Anche se queste opzioni non sono necessariamente condivise da tutto l'insieme di questi programmi, vale la pena di descriverle a parte.
|
Si tratta di un'opzione convenzionale utilizzata da quasi tutti i programmi che funzionano con il sistema grafico X. Come al solito serve per specificare il server grafico e lo schermo dove deve apparire la finestra dell'applicazione. Le coordinate hanno generalmente la sintassi [<host>]:<server>[.<schermo>]
.
|
Questa opzione si rifà a quella omonima utilizzata dai programmi comuni per X. Tuttavia utilizza una sintassi più ricca, che permette di indicare anche il ridimensionamento relativo delle immagini. Per comprenderne il senso, vale la pena di scomporre la sintassi:
-
geometry <larghezza>x<altezza>[!]
In questo caso si definisce la dimensione dell'immagine in punti. In condizioni normali le proporzioni vengono mantenute, riducendo automaticamente la larghezza o l'altezza, a meno che venga aggiunto un punto esclamativo finale con cui si impone la deformazione.
-
geometry <larghezza>%x<altezza>%
In questo caso si modificano le proporzioni dell'immagine indicando valori di larghezza e altezza percentuali: 100 indica la dimensione normale (100%).
-
geometry [<dimensioni>][+|-
<posizione-orizz>][+|-
<posizione-vert>]
Dopo le dimensioni (effettive o relative) si può indicare la posizione in cui deve apparire la finestra dell'immagine, secondo il modo normale utilizzato dalle applicazioni per X.
Questa opzione viene usata sia dai programmi che si occupano di visualizzare un'immagine, sia da quelli che si limitano a rielaborarla. Quando l'immagine non deve essere visualizzata non hanno senso le indicazioni che specificano la posizione della finestra sullo schermo.
|
In una trasformazione permette di indicare il numero massimo di colori contenuto nelle immagini.
|
Trasforma l'immagine in modo da utilizzare solo bianco e nero.
I formati di immagine che possono gestire i programmi che compongono ImageMagick sono numerosi. Per conoscerne l'elenco completo basta leggere il documento convert(1). È degno di nota il fatto che pur trattandosi di software libero, l'autore ha ritenuto opportuno di poter gestire ugualmente i formati grafici proprietari, come GIF, che di solito è «bandito» da altri autori.
convert [<opzioni>] <file-da-convertire>... <file-risultante> |
convert
permette di convertire i file di immagini in formati differenti, applicando eventualmente anche altre trasformazioni. Dalla sintassi si intende che i file indicati nella riga di comando come quelli da convertire possono essere più di uno, mentre quello da ottenere come risultato della trasformazione può essere uno solo. In questo modo, si intende ottenere un file contenente un'animazione (ammesso che il formato grafico prescelto lo consenta).
La conversione da un formato all'altro avviene in modo intuitivo attraverso l'uso del magic number per i file da trasformare, e le estensioni per i file da generare; per esempio, volendo trasformare il file prova.gif
in prova.png
, si intende implicitamente che il primo file sia di tipo GIF e il secondo di tipo PNG. Tuttavia, si può indicare espressamente il tipo di file utilizzando il formato seguente:
<tipo>:<nome> |
Se il file in ingresso viene indicato attraverso un trattino (
), si intende fare riferimento allo standard input, mentre se viene usato un trattino al posto del nome di un file in uscita, si intende emettere il risultato della conversione attraverso lo standard output.
-
convert
permette di eseguire una grande quantità di trasformazioni sulle immagini. Qui vengono descritte solo delle funzionalità elementari; per approfondire le caratteristiche di questo programma si può consultare la pagina di manuale convert(1).
Di seguito vengono descritte solo alcune opzioni che possono essere utilizzate con convert
. In particolare, quanto è già stato descritto tra le opzioni standard di ImageMagick vale anche per questo programma.
|
Questa opzione è utile solo nel caso si stia generando un'animazione GIF, per stabilire la durata di visualizzazione tra un'immagine e la successiva (è utile quando il file deve essere visualizzato attraverso Netscape).
|
Ribalta (specchia) l'immagine in modo verticale.
|
Ribalta (specchia) l'immagine in modo orizzontale.
|
Permette di stabilire il livello qualitativo di un'immagine che utilizza una compressione con perdita: JPEG, MIFF e PNG. Il valore 0 rappresenta la qualità peggiore, mentre 100 rappresenta la qualità migliore. Il valore predefinito è 75.
|
Ruota l'immagine del numero di gradi indicato.
|
Mette a fuoco l'immagine specificando il fattore che è un numero tra 0,0 e 99,9. Il valore più alto porta al massimo l'effetto di messa a fuoco.
$
convert prova.gif prova.png
Converte il file prova.gif
(presumibilmente di tipo GIF) nel file prova.png
che si intende debba essere di tipo PNG a causa dell'estensione utilizzata nel nome.
$
convert prova.gif PNG:prova
Come nell'esempio precedente, si converte il file prova.gif
nel file prova
, specificando esplicitamente che si deve trattare di un formato GIF.
$
convert prova.gif png:prova
Esattamente come nell'esempio precedente (il nome che identifica il tipo di file può essere indicato indifferentemente con le lettere maiuscole o minuscole).
$
convert
-
geometry 150%x150% prova.gif prova.png
Trasforma il file prova.gif
nel file prova.png
ingrandendo l'immagine del 150%, in modo proporzionale.
$
convert
-
sharpen 50 prova.gif prova.png
Trasforma il file prova.gif
nel file prova.png
rielaborandola in modo da ottenere un effetto simile alla messa a fuoco (viene utilizzato un fattore di 50).
$
convert
-
quality 100 prova.gif prova.png
Trasforma il file prova.gif
nel file prova.png
cercando di perdere il minor numero possibile di dettagli.
$
convert
-
flip prova.gif prova.png
Trasforma il file prova.gif
nel file prova.png
ottenuto ribaltando l'immagine verticalmente (dall'alto in basso).
$
convert
-
flop prova.gif prova.png
Trasforma il file prova.gif
nel file prova.png
ottenuto ribaltando l'immagine orizzontalmente (da sinistra a destra).
$
convert
-
rotate 90 prova.gif prova.png
Trasforma il file prova.gif
nel file prova.png
ottenuto ruotando l'immagine di 90 gradi in senso orario.
$
convert *.jpg prova.gif
Legge tutti i file che terminano con l'estensione .jpg
e li utilizza per generare un'animazione GIF nel file prova.gif
.
$
convert *.jpg prova.png
Tenta di fare la stessa cosa dell'esempio precedente, generando un file di tipo PNG. In pratica, dal momento che il formato PNG può contenere solo un'immagine, viene creata una sequenza di file PNG, uno per ogni «scena», secondo il formato prova.png.
n.
mogrify [<opzioni>] <file>... |
mogrify
è un programma di conversione delle immagini, simile a convert
, che però tende a intervenire direttamente sui file di origine, senza riflettersi in un file di destinazione. Molte delle opzioni di convert
sono disponibili anche con mogrify
.
|
Permette di definire la trasformazione in un formato differente da quello originale. Utilizzando questa opzione, le modifiche non si riflettono nel file di origine, ma in una copia che prende l'estensione del nome utilizzato per definire il formato.
$
mogrify
-
format png *.gif
Converte i file che si trovano nella directory corrente e terminano con l'estensione .gif
in file di tipo PNG, creando una copia degli stessi file con estensione .png
.
$
mogrify
-
format PNG *.gif
Converte come nell'esempio precedente, con la differenza che l'estensione diventa .PNG
.
$
mogrify
-
geometry 150%x150% *.gif
Trasforma i file il cui nome termina per .gif
, ingrandendoli proporzionalmente del 150%. I file originali vengono sovrascritti.
$
mogrify
-
colors 16 *.gif
Trasforma i file il cui nome termina per .gif
, rielaborando le immagini in modo da ridurre i colori a un massimo di 16.
$
mogrify
-
flip *.gif
Trasforma i file il cui nome termina per .gif
, ribaltando le immagini verticalmente (dall'alto in basso).
$
mogrify
-
flop *.gif
Trasforma i file il cui nome termina per .gif
, ribaltando le immagini orizzontalmente (da sinistra a destra).
animate [<opzioni>] <file>... |
animate
visualizza un'animazione composta dai file forniti come argomento. Per ottenere questo risultato, animate
costruisce una copia dell'insieme delle immagini nella memoria centrale; questo particolare è molto importante perché se si eccede si rischia di bloccare il sistema operativo.
Molte delle opzioni di convert
sono disponibili anche con animate
.
|
Questa opzione permette di definire la durata di visualizzazione tra un'immagine e la successiva.
$
animate
-
delay 50 *.gif
Crea un'animazione con le immagini contenute nei file che terminano per .gif
. La sequenza è fatta a intervalli di mezzo secondo.
montage [<opzioni>] <file>... <file-risultante> |
montage
permette di assemblare una serie di immagini in modo da ottenere una sorta di raccolta di diapositive. In pratica si ottiene un'immagine contenente una serie di icone che riproducono in piccolo i file indicati in ingresso. Per esempio,
$
montage *.gif raccolta.png
genera il file raccolta.png
(in formato PNG) composto da tutte le immagini ridotte dei file che terminano per .gif
.
import [<opzioni>] <file-risultante> |
import
permette di generare un file catturando un'immagine dallo schermo. Se non si specificano opzioni particolari, si intende utilizzare lo schermo attuale, e il puntatore del mouse viene modificato in un mirino a forma di croce. Se si fa un clic con il primo tasto sull'area di una finestra, si ottiene la copia del contenuto di questa, se invece si preme il primo tasto e si trascina, si ottiene la copia dell'area evidenziata.
|
Permette di specificare esplicitamente la finestra dalla quale prelevare l'immagine. In generale è poco probabile che venga inserito il numero di identificazione di una finestra, dal momento che si tratta di un numero esadecimale un po' lungo; per quanto riguarda la possibilità di indicare il nome, ci si limita normalmente all'indicazione della finestra principale attraverso la denominazione root
.
$
import estratto.png
Avvia import
in modo da permettere la selezione interattiva della finestra o dell'area desiderata. Il risultato viene salvato nel file estratto.png
.
$
import
-
window 0x1400002 finestra.png
Fa una copia del contenuto della finestra identificata dal numero esadecimale 0x1400002.
$
import
-
window root finestra.png
Fa una copia del contenuto della finestra principale.
display [<opzioni>] [<file>]... |
Il programma display
permette la visualizzazione di una sequenza di immagini, eventualmente stabilendo anche un intervallo nella sequenza stessa. Tuttavia, display
non si limita a questo, permettendo di intervenire anche in modo interattivo: basta fare un clic sull'area della finestra di visualizzazione dell'immagine per ottenere un menù. Per la precisione, con il tasto sinistro si ottiene una finestra di pulsanti che fanno riferimento ad altrettanti sottomenu, mentre con il tasto destro si ottiene un menu a scomparsa delle funzionalità di uso più frequente.
Questo programma può essere avviato anche senza argomenti, richiedendo implicitamente un funzionamento interattivo. In questo caso si ottiene subito la maschera che si vede nella figura 72.10.
Figura 72.10:
Quando si avvia display
senza l'indicazione di file da visualizzare, si viene invitati a indicarne almeno uno.
Una volta che display
ha visualizzato un'immagine in una finestra, si può ottenere il menù rapido attraverso un clic con il terzo tasto del mouse. Ciò che si ottiene si vede nella figura
72.11.
Figura 72.11:
Il menu rapido che si ottiene con il tasto destro del mouse.
Con il terzo tasto (quello centrale) si ottiene una finestra con un ingrandimento del punto selezionato, mentre con il primo tasto del mouse si ottiene una finestra contenente tutto il menù delle funzioni disponibili con questo programma (se viene ripremuto lo stesso tasto, il menu scompare).
Figura 72.12:
Il menu normale.
Come nel caso degli altri programmi di ImageMagick, anche display
permette di intervenire con una grande quantità di opzioni della riga di comando, anche se si può fare quasi tutto in modo interattivo.
$
display
Avvia il programma display
per essere usato esclusivamente in modo interattivo.
$
display prova.png
Visualizza l'immagine contenuta nel file prova.png
.
$
display
-
delay 200 *.png
Inizia la visualizzazione delle immagini contenute in tutti i file il cui nome termina per .png
. I file vengono caricati di volta in volta, senza impegnare la memoria centrale come farebbe invece il programma animate
. Il caricamento delle immagini avviene a intervalli di due secondi.
$
display 'vid:*.png'
Avvia display
in modo da visualizzare un elenco di «diapositive» generate utilizzando le immagini contenute nei file che finiscono per .png
. Questo elenco di diapositive funge da menu per richiamare le immagini relative.
I programmi di ImageMagick sono molto sofisticati e in queste sezioni sono solo stati presentati in modo grossolano quelli più importanti. In particolare non è stato descritto xtp
che sembra avere poco a che fare con il resto, trattandosi di un client FTP fatto per essere usato in modo non interattivo.
Xanim è un programma, apparentemente molto semplice, che permette la visione, ed eventualmente l'ascolto, di file contenenti delle animazioni. I formati che può gestire sono molti; per citarne alcuni: FLI, GIF animati, AVI e Quicktime. Xanim (l'eseguibile xanim
) può essere usato molto bene in modo non interattivo attraverso l'uso delle opzioni fornite nella riga di comando, ma permette comunque una gestione intuitiva anche senza di queste. L'unico argomento obbligatorio è il nome del file che si vuole «eseguire».
Per utilizzare bene Xanim è necessario leggere la pagina di manuale xanim(1).
xanim [<opzioni>] <file>... |
Come accennato, xanim
richiede espressamente l'indicazione di almeno un file di animazione da eseguire. Se vengono indicati più file, questi vengono uniti assieme in un'unica sequenza. Il controllo dell'esecuzione delle animazioni avviene normalmente attraverso un pannellino di controllo che si può vedere nella figura
72.13.
Figura 72.13:
La finestra contenente il pannellino di controllo di Xanim.
Anche senza volere approfondire l'uso di questo programma, può essere conveniente conoscere almeno l'uso del mouse e di alcune funzionalità della tastiera durante l'esecuzione di un'animazione:
facendo un clic con il primo tasto del mouse, oppure premendo il tasto [,] (virgola), si ottiene l'arresto dell'esecuzione e la visualizzazione della scena precedente;
facendo un clic con il terzo tasto del mouse, oppure premendo il tasto [.] (punto), si ottiene l'arresto dell'esecuzione e la visualizzazione della scena successiva;
facendo un clic con il secondo tasto del mouse (quello centrale) si ottiene la ripresa dell'esecuzione dell'animazione (se era stata fermata);
la [barra spaziatrice] arresta o fa riprendere l'esecuzione dell'animazione;
---------------------------
Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini -- daniele @ pluto.linux.it