Struttura del formato XPM: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(8 versioni intermedie di uno stesso utente non sono mostrate)
Riga 4: Riga 4:
  /* 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>, <Pixels> e <Extensions> sono racchiuse fra virgolette e terminano con una virgola. Ogni sezione è posta in una nuova riga a capo.
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.




Riga 29: Riga 29:
  ". c green",
  ". c green",
  "  c #0000FF",
  "  c #0000FF",


====Trasparenza====
====Trasparenza====
Come detto all'inizio, il formato ''XPM'' supporta anche la trasparenza. Va indicata con la parola ''None''.
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:
<BR>Esempio:
  "a c None",
  "a c None",
Riga 48: Riga 47:
  ".b a",
  ".b a",
  "ab. ",
  "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",
};




Riga 53: Riga 75:
=Note=
=Note=
[1] E' prevista anche una parte ''Extensions'' che però è opzionale, e qui non verrà trattata.
[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.