Struttura del formato XPM: differenze tra le versioni
(Creata pagina con 'Il formato '''X PixMap''' ('''XPM''') è un formato di file immagine utilizzato dal sistema ''X Window''. Esso è concepito per realizzare delle immagini di tipo ''pixmap'', e...') |
Nessun oggetto della modifica |
||
| (9 versioni intermedie di uno stesso utente non sono mostrate) | |||
| Riga 1: | Riga 1: | ||
Il formato '''X PixMap''' ('''XPM''') è un formato di file immagine utilizzato dal sistema ''X Window''. Esso è concepito per realizzare delle immagini di tipo ''pixmap'', ed immagini ''trasparenti''. | Il formato '''X PixMap''' ('''XPM''') è un formato di file immagine utilizzato dal sistema ''X Window''. Esso è concepito per realizzare delle immagini di tipo ''pixmap'', ed immagini ''trasparenti''. | ||
Il formato XPM è sostanzialmente un array di stringhe formate da sei parti essenziali e fondamentali: | Il formato XPM è sostanzialmente un array di stringhe formate da sei parti essenziali e fondamentali: |[[#Note|1]]| | ||
/* XPM */ | /* XPM */ | ||
static char* <nome_variabile>[] = { | static char* <nome_variabile>[] = { | ||
<Values> | "<Values>", | ||
<Colors> | "<Colors>", | ||
<Pixels> | "<Pixels>", | ||
}; | }; | ||
I dati presenti nelle sezioni relative a <Values>, <Colors> | I dati presenti nelle sezioni relative a <Values>, <Colors> e <Pixels> sono racchiuse fra virgolette e terminano con una virgola. Ogni sezione è posta in una nuova riga a capo. | ||
===Values=== | |||
La sezione ''Values'' è una stringa che contiene 4 valori interi, separati da uno spazio, che rappresentano in ordine: | La sezione ''Values'' è una stringa che contiene 4 valori interi, separati da uno spazio, che rappresentano in ordine: | ||
* la quantità di pixel costituenti la dimensione orizzontale dell'immagine (le colonne di pixel); | * la quantità di pixel costituenti la dimensione orizzontale dell'immagine (le colonne di pixel); | ||
| Riga 19: | Riga 20: | ||
"8 8 4 1" | "8 8 4 1" | ||
===Colors=== | |||
La sezione ''Colors'' è formata da tante stringhe quanti sono i colori presenti nell'immagine. Ogni stringa indica un colore, al quale è associato un qualunque carattere di riferimento (anche uno spazio) che sarà poi utilizzato nel codice per generare l'immagine. Il colore, sempre comunque anticipato dal suo carattere di riferimento e dal carattere "c", può essere espresso con il proprio nome, o con il codice RGB in esadecimale anticipato dal segno #, o con un segno % seguito dal codice HSV. | La sezione ''Colors'' è formata da tante stringhe quanti sono i colori presenti nell'immagine. Ogni stringa indica un colore, al quale è associato un qualunque carattere di riferimento (anche uno spazio) che sarà poi utilizzato nel codice per generare l'immagine. Il colore, sempre comunque anticipato dal suo carattere di riferimento e dal carattere "c", può essere espresso con il proprio nome, o con il codice RGB in esadecimale anticipato dal segno #, o con un segno % seguito dal codice HSV. | ||
<BR>Ogni stringa riferita ad un colore è racchiusa fra virgolette e termina con una virgola, è posta in una nuova riga a capo. | <BR>Ogni stringa riferita ad un colore è racchiusa fra virgolette e termina con una virgola, è posta in una nuova riga a capo. | ||
| Riga 28: | Riga 30: | ||
" c #0000FF", | " c #0000FF", | ||
====Pixels | ====Trasparenza==== | ||
Come detto all'inizio, il formato ''XPM'' supporta anche la trasparenza. Va indicata con la parola ''None'' al posto del nome o del codice del colore. | |||
<BR>Esempio: | |||
"a c None", | |||
===Pixels=== | |||
La sezione ''Pixels'' è formata da tante strighe di dati quante sono le righe di pixel previste che compongono la dimensione verticale dell'immagine. Ogni stringa riferita ad una riga di pixel è racchiusa fra virgolette e termina con una virgola, ed è posta in una nuova riga a capo. | La sezione ''Pixels'' è formata da tante strighe di dati quante sono le righe di pixel previste che compongono la dimensione verticale dell'immagine. Ogni stringa riferita ad una riga di pixel è racchiusa fra virgolette e termina con una virgola, ed è posta in una nuova riga a capo. | ||
<BR>Ogni pixel è rappresentato dal carattere di riferimento del colore indicato. Questa sezione, pertanto, definisce in concreto la ''pixmap'' dell'immagine. | |||
Esempio: | |||
"ab. ", | |||
" a.b", | |||
".b a", | |||
"ab. ", | |||
" a.b", | |||
".b a", | |||
"ab. ", | |||
===Chiusura=== | |||
Il file è chiuso semplicemente con una parentesi graffa ed un segno di punto e virgola: | |||
}; | |||
===Esempio pratico=== | |||
Mostreremo di seguito il codice necessario ed essenziale per creare una piccola immagine di otto colonne rosse e gialle (8 x 8 pixel): |[[#Note|2]]| | |||
/* XPM */ | |||
static char * esempio[]={ | |||
"8 8 2 1", | |||
"a c #FF0000", | |||
"b c #FFFF00", | |||
"abababab", | |||
"abababab", | |||
"abababab", | |||
"abababab", | |||
"abababab", | |||
"abababab", | |||
"abababab", | |||
"abababab", | |||
}; | |||
=Note= | |||
[1] E' prevista anche una parte ''Extensions'' che però è opzionale, e qui non verrà trattata. | |||
[2] Per una possibile gestione con Gambas si rimanda a [[Creare_da_codice_un'immagine_trasparente|questa pagina della WIKI]]. | |||
Versione attuale delle 13:01, 10 mag 2013
Il formato X PixMap (XPM) è un formato di file immagine utilizzato dal sistema X Window. Esso è concepito per realizzare delle immagini di tipo pixmap, ed immagini trasparenti.
Il formato XPM è sostanzialmente un array di stringhe formate da sei parti essenziali e fondamentali: |1|
/* XPM */
static char* <nome_variabile>[] = {
"<Values>",
"<Colors>",
"<Pixels>",
};
I dati presenti nelle sezioni relative a <Values>, <Colors> e <Pixels> sono racchiuse fra virgolette e terminano con una virgola. Ogni sezione è posta in una nuova riga a capo.
Values
La sezione Values è una stringa che contiene 4 valori interi, separati da uno spazio, che rappresentano in ordine:
- la quantità di pixel costituenti la dimensione orizzontale dell'immagine (le colonne di pixel);
- la quantità di pixel costituenti la dimensione verticale dell'immagine (le righe di pixel);
- il numero di colori presenti nell'immagine;
- il numero di caratteri per pixel.
Esempio:
"8 8 4 1"
Colors
La sezione Colors è formata da tante stringhe quanti sono i colori presenti nell'immagine. Ogni stringa indica un colore, al quale è associato un qualunque carattere di riferimento (anche uno spazio) che sarà poi utilizzato nel codice per generare l'immagine. Il colore, sempre comunque anticipato dal suo carattere di riferimento e dal carattere "c", può essere espresso con il proprio nome, o con il codice RGB in esadecimale anticipato dal segno #, o con un segno % seguito dal codice HSV.
Ogni stringa riferita ad un colore è racchiusa fra virgolette e termina con una virgola, è posta in una nuova riga a capo.
Esempio:
"a c red", "b c #FFFF00", ". c green", " c #0000FF",
Trasparenza
Come detto all'inizio, il formato XPM supporta anche la trasparenza. Va indicata con la parola None al posto del nome o del codice del colore.
Esempio:
"a c None",
Pixels
La sezione Pixels è formata da tante strighe di dati quante sono le righe di pixel previste che compongono la dimensione verticale dell'immagine. Ogni stringa riferita ad una riga di pixel è racchiusa fra virgolette e termina con una virgola, ed è posta in una nuova riga a capo.
Ogni pixel è rappresentato dal carattere di riferimento del colore indicato. Questa sezione, pertanto, definisce in concreto la pixmap dell'immagine.
Esempio:
"ab. ", " a.b", ".b a", "ab. ", " a.b", ".b a", "ab. ",
Chiusura
Il file è chiuso semplicemente con una parentesi graffa ed un segno di punto e virgola:
};
Esempio pratico
Mostreremo di seguito il codice necessario ed essenziale per creare una piccola immagine di otto colonne rosse e gialle (8 x 8 pixel): |2|
/* XPM */
static char * esempio[]={
"8 8 2 1",
"a c #FF0000",
"b c #FFFF00",
"abababab",
"abababab",
"abababab",
"abababab",
"abababab",
"abababab",
"abababab",
"abababab",
};
Note
[1] E' prevista anche una parte Extensions che però è opzionale, e qui non verrà trattata.
[2] Per una possibile gestione con Gambas si rimanda a questa pagina della WIKI.