[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 637.   Gestione delle immagini alla vecchia maniera

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 realizzati per questo scopo, rimanendo nell'ambito del software libero, sono un po' strani e non uniformi tra loro per quanto riguarda il loro utilizzo. I programmi più recenti sono più pratici per l'utente medio, ma conviene comunque tenere conto anche di quelli più vecchi, che possono essere utili in situazioni particolari.

La tabella 637.1 elenca i programmi a cui si accenna in questo capitolo. Per la precisione si fa riferimento ai nomi degli eseguibili.

Tabella 637.1. Alcuni programmi applicativi tradizionali per la gestione delle immagini.

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.

637.1   Programmi specifici per la cattura dallo schermo

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).

637.1.1   Utilizzo di «xwd»

Il programma xwd(1) 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 un condotto. Quando il programma viene avviato, appare immediatamente un puntatore particolare e basta fare un clic sulla finestra che si intende catturare.

xwd [opzioni]

Tabella 637.2. Alcune opzioni.

Opzione Descrizione
-nobdrs
Non include i bordi della finestra.
-frame
Include anche la cornice del gestore di finestre.
-out file
Permette di specificare un file di destinazione diverso dallo standard output.
-root
Cattura tutta la superficie grafica.

637.1.2   Utilizzo di «xwud»

Il programma xwud(2) 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.

xwud [opzioni]

Segue la descrizione di alcuni esempi.

637.1.3   Utilizzo di «xgrab»

Il programma xgrab, (3) attraverso xgrabsc, permette la cattura di immagini in modo relativamente semplice. In pratica, il programma che compie realmente 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

Il programma xgrab non è parte dei programmi di servizio standard di X, ma è comunque raggiungibile facilmente attraverso la rete.

Figura 637.3. Il programma xgrab impostato per catturare una finestra intera, completa di cornice, e generare il file screen1.dmp in formato ppm.

xgrab

637.2   Xloadimage

Xloadimage (4) è un applicativo per la gestione di immagini, semplice ma efficace. Il nome suggerisce che possa servire per caricare e 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.

637.2.1   Avvio del programma

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 intende 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.(5)

xloadimage [opzioni_globali] {[[opzioni_dell'immagine] immagine]}...
xloadimage [opzioni_globali] [opzioni_dell'immagine] stdin

Xloadimage ha due pseudonimi: xsetbg e xview. Il primo equivale a xloadimage -onroot -quiet mentre il secondo equivale a xloadimage -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:

Tasto Funzione
[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.

637.2.2   Opzioni globali

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, ma sempre prima dei file.

Tabella 637.5. Finestra.

Opzione Descrizione
-fullscreen
Utilizza tutto lo schermo per visualizzare ogni immagine.
-geometry geometria
Questa opzione funziona nel modo solito: determina le dimensioni della finestra.
-onroot
Colloca l'immagine nella finestra principale, utilizzandola come fondale. Quando Xloadimage viene avviato con lo pseudonimo xsetbg, questa opzione è predefinita.
-view
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.

Tabella 637.6. Colori.

Opzione Descrizione
-border colore
Definisce il colore di fondo delle zone che non sono coperte dall'immagine da visualizzare.
-visual tipo_visualizzazione
Permette di specificare in modo esplicito il tipo di visualizzazione desiderato. I tipi disponibili sono: DirectColor, TrueColor, PseudoColor, StaticColor, GrayScale, StaticGray.

Tabella 637.7. Formati.

Opzione Descrizione
-dump formato[,opzione] \
  \file_da_generare
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 637.16 mostra i tipi di formato leggibili e quelli in cui è possibile salvare.
-type tipo_immagine
Forza Xloadimage a utilizzare un formato determinato per caricare un'immagine. Normalmente è il programma stesso a determinare autonomamente di quale tipo si tratti

Tabella 637.8. Informazioni.

Opzione Descrizione
-configuration
Mostra la configurazione di Xloadimage. La configurazione viene descritta più avanti.
-supported
Emette, attraverso lo standard output, un elenco di formati di immagini gestiti.
-help [opzione...]
Permette di ottenere informazioni su una o più opzioni. Se non ne vengono specificate, inizia una modalità interattiva, attraverso la quale è possibile ottenere brevi guide alle opzioni indicate durante tale sessione.
-identify
Invece di visualizzare le immagini, si ottiene solo la loro identificazione, con una serie di messaggi emessi attraverso lo standard output.

Tabella 637.9. Varie.

Opzione Descrizione
-delay secondi
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.
-fork
Fa in modo di dissociare Xloadimage dalla shell dalla quale è stato eseguito. In pratica, con questa opzione, il processo elaborativo diventa un figlio del processo iniziale (Init), disimpegnandosi dalla shell che lo ha generato.
-verbose
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.

Segue la descrizione di alcuni esempi.

637.2.3   Opzioni particolari

Le opzioni particolari hanno effetto solo sull'immagine che precedono (nella riga di comando). Alcune opzioni particolari possono essere generalizzate, cioè riferite a più immagini, attraverso l'opzione -global.

Tabella 637.10. Validità delle opzioni.

Opzione Descrizione
-global
Inizia una serie di opzioni (successive) riferite a tutti i file di immagini che seguono nella riga di comando, eventualmente fino al raggiungimento di un'opzione -newoptions. Eventuali opzioni particolari inserite davanti a un'immagine particolare, possono servire per alterare temporaneamente queste impostazioni globali.
-newoptions
Azzera le opzioni fissate globalmente.

Tabella 637.11. Bianco e nero: e immagini che hanno solo due colori, solitamente bianco e nero, possono essere alterate in modo da sostituire tali colori.

Opzione Descrizione
-background colore
Con questa opzione si sostituisce il «bianco» delle immagini a due colori.
-foreground colore
Con questa opzione si sostituisce il «nero» delle immagini a due colori.
-invert
Inverte i colori di un'immagine a due colori.

Tabella 637.12. Effetti.

Opzione Descrizione
-brighten percentuale_luminosità
Permette di definire la percentuale della luminosità dell'immagine. 100 equivale a lasciare inalterata l'immagine.
-colors numero_colori
Permette di fissare il numero massimo di colori. È un mezzo per ridurre i colori di un'immagine.
-halftone
Trasforma l'immagine in una monocromatica (due colori) utilizzando una tecnica molto semplice, che di solito espande notevolmente l'immagine.
-dither
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.
-gamma valore
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.
-gray
-grey
Converte i colori di un'immagine in modo che si utilizzino solo dei grigi.
-smooth
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.

Tabella 637.13. Tagliare, copiare e incollare.

Opzione Descrizione
-clip x,y,larghezza,altezza
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.
-at x,y
Questa opzione è riferita particolarmente 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.
-merge
Permette di fondere l'immagine, dopo un'eventuale rielaborazione, sull'immagine base. Questa opzione viene utilizzata normalmente in combinazione a -at e -clip.

Tabella 637.14. Rotazioni e ridimensionamento.

Opzione Descrizione
-rotate gradi
Ruota l'immagine della quantità di gradi indicata. Si possono utilizzare solo multipli di 90.
-zoom percentuale
Ridimensiona l'immagine della percentuale indicata. Il valore 100 rappresenta la dimensione normale.
-xzoom percentuale
Ridimensiona l'immagine in orizzontale: la allarga o la restringe.
-yzoom percentuale
Ridimensiona l'immagine in verticale: la allunga o la accorcia.

Segue la descrizione di alcuni esempi.

637.2.4   Opzioni del tipo di immagine

Quando si utilizza l'opzione -dump, è 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 più modalità alternative. Sotto questo aspetto, un formato viene definito con la sintassi seguente:

formato[,opzione_di_formato[=valore]] file_da_generare

Nella tabella successiva viene descritto il modello del formato in modo più particolareggiato, in base ad alcuni tipi di comuni.

Tabella 637.15. Dichiarazione di alcuni formati.

Modello del formato Descrizione
jpeg
Formato JPEG.
jpeg,arithmetic
Codifica aritmetica.
jpeg,grayscale
Trasforma un'immagine a colori in una a scala di grigi.
jpeg,nointerleave
Crea un file non interfogliato (non-interleaved).
jpeg,entropy
Abilita l'ottimizzazione del parametro entropy
jpeg,quality=percentuale_qualità
Regola la qualità dell'immagine da creare. Il valore predefinito è 75; valori inferiori creano immagini più povere.
jpeg,smooth=fattore_di_sfumatura
Permette di regolare il fattore di sfumatura. Sono ammissibili tutti i valori da 0 a 100, estremi inclusi.
bmp
Formato BMP.
bpm,normal
Utilizza il formato normale.
bpm,raw
Utilizza il formato grezzo. È la modalità predefinita quando si utilizza il tipo BPM.
tiff
Formato TIFF.
tiff,compression=lzw
Compressione predefinita: Limpel-Ziv-Welsh.
tiff,compression=none
Nessuna compressione.
tiff,compression=rle
Compressione CCITT RLE.
tiff,compression=g3fax
Compressione CCITT Group 3 FAX.
tiff,compression=g4fax
Compressione CCITT Group 4 FAX.
tiff,compression=rlew
Compressione CCITT RLEW.
tiff,compression=mac
Compressione Macintosh PackBits;
tiff,compression=packbits
Compressione Macintosh PackBits;
tiff,compression=thunderscan
Compressione ThunderScan.

Tabella 637.16. Formati di immagini gestiti da Xloadimage. Solo alcuni formati possono essere usati per generare nuovi file attraverso l'opzione -dump. Questo elenco può essere ottenuto attraverso l'opzione -support.

Formato -dump Descrizione
niff Native Image File Format (NIFF)
sunraster No Sun Rasterfile
gif No GIF Image
jpeg JFIF-style JPEG Image
fbm No FBM Image
cmuraster No CMU WM Raster
pbm 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

637.2.5   Configurazione

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/lib/X11/Xloadimage, o forse anche /etc/X11/Xloadimage.

Se qualche elemento contiene spazi, si possono utilizzare gli apici doppi 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.

All'interno di questi file possono essere indicati tre tipi di informazione: path, extention e filter.

Tabella 637.17. Sezioni.

Direttiva Descrizione
path = percorso_di_ricerca ...
Con questa dichiarazione può essere indicato un elenco di percorsi all'interno dei quali cercare 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 state specificate. 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.

Segue un esempio del file di configurazione contenente la descrizione delle direttive usate, in forma di commento:

# 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

637.3   XPaint

XPaint (6) è un programma di buona qualità per il disegno e il fotoritocco. A prima vista potrebbe non sembrarlo, ma quando se ne apprende la logica del funzionamento si scopre il suo valore.

Purtroppo, 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 è costituito dall'eseguibile xpaint; si tratta di 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 [opzioni] [file...]

XPaint utilizza una finestra di strumenti contenente un menù 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.

Tabella 637.19. Alcune opzioni.

Opzione Descrizione
-size larghezzaxaltezza
Permette di definire la dimensione predefinita per la creazione di finestre vuote per il disegno.
-rcFile file
Definisce il nome e la collocazione di un file di configurazione diverso da quello predefinito, che altrimenti è ~/.XPaintrc.
-popped
Prepara una finestra vuota per il disegno all'avvio, senza bisogno di doverla richiedere espressamente durante il funzionamento del programma.
-nowarn
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 capacità limitate. In pratica, con questa opzione si vuole evitare di vedere ogni volta il messaggio della figura 637.20.

Figura 637.20. Avvertimento di XPaint quando la profondità di colori è limitata.

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!
     =============================================================
Risorsa Descrizione
XPaint.patternsize: pixel
Permette di definire la dimensione in punti grafici (pixel) dei quadratini colorati che compongono la tavolozza dei colori di ogni finestra di disegno. Le dimensioni possibili vanno da 4 a 64 punti, mentre il valore predefinito è 24.

Segue la descrizione di alcuni esempi.

La figura 637.22 mostra la finestra degli attrezzi di XPaint.

Figura 637.22. La finestra degli attrezzi di XPaint.

xpaint-attrezzi

Le varie icone rappresentano ognuna una modalità di disegno o di selezione sulle varie finestre di disegno. Il funzionamento del menù è abbastanza semplice, in particolare, il menù {File} permette di caricare una nuova immagine, oppure di aprire una nuova finestra vuota per il disegno. Si noti in particolare la presenza del menù {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 637.23 ne mostra una all'interno della quale appare già un'immagine.

Figura 637.23. XPaint utilizza una finestra di disegno per ogni immagine.

xpaint-disegno

Nella parte inferiore ci sono due tavolozze di colori e modelli: normalmente la prima riguarda il tratto e la seconda il fondale. 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 menù è abbastanza intuitivo. In particolare, {File} permette solo di salvare (il caricamento è previsto solo nella 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 637.24 mostra alcuni esempi di fotoritocco applicati a zone dell'immagine.

Figura 637.24. Alcuni esempi delle possibilità di fotoritocco di XPaint.

xpaint-disegno-ritoccato

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 la situazione esatta dell'immagine.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) X   MIT più altre licenze per porzioni particolari di codice

2) X   MIT più altre licenze per porzioni particolari di codice

3) Xgrabsc   software libero con licenza speciale

4) Xloadimage   software libero con licenza speciale

5) Con Xloadimage si fa riferimento a «immagini» e non semplicemente a file che contengono delle immagini, perché questo programma ha una propria gestione dei percorsi e delle estensioni, anche se non è necessario sfruttare tale possibilità.

6) XPaint   software libero soggetto a diverse licenze a seconda della porzione di codice coinvolta


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome gestione_delle_immagini_alla_vecchia_maniera.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!