X PixMap

Un article de Wikipédia, l'encyclopédie libre.

X PixMap, connu également sous l'acronyme XPM, est un format d'image spécialisé dans les icônes des environnements graphiques.

Il est utilisé entre autre par X11, le système standard d'interaction graphique avec l'utilisateur sur UNIX, Linux et les BSD.

[modifier] Histoire

La première version du format XPM sort en janvier 1989. Elle est créée par Colas Nahaboo et Daniel Dardailler dans le but d'avoir un format de fichier capable d'enregistrer et de récupérer des icônes en couleur, chose impossible avec la Xlib, quant au format XBM, il est limité aux images en noir et blanc.

En 1990, Arnaud Le Hors réécrit et améliore le format, quelques mois plus tard sort la deuxième version de XPM. Finalement, la version 3 sort en avril 1991, plus rapide et plus efficace que la version précédente.

[modifier] Caractéristiques

La compression appliquée étant très faible comparé à celle des formats JPG, PNG ou SVG, le format XPM est destiné aux petites images et convient aux icônes.

Un fichier au format XPM est visualisable et compréhensible dans un éditeur de texte, voici un exemple :

/* XPM */
static char * exemple_xpm[] = {
"24 20 3 1",
"  c None",
". c #3A32E4",
"+ c #E43232",
"                        ",
"    ..                  ",
"   ....                 ",
"  ......++++++++        ",
" .........+++++++       ",
" ..........+++++++      ",
" ............++++++     ",
" .............++++++    ",
"  ..............++++    ",
"   +.............+++    ",
"   ++.............++    ",
"   +++.............+    ",
"   +++++.............   ",
"   ++++++.............. ",
"   ++++++++............ ",
"   +++++++++........... ",
"    +++++++++.........  ",
"     ++++++++++.......  ",
"      ++++++++++.....   ",
"       +++++++++ ...    "};

Un fichier XPM vu par un éditeur de texte.

Ce même fichier XPM vu par un quelconque visualisateur d'images.

La syntaxe est compatible avec le C, cela permet d'inclure directement le fichier dans le code source.

Précisemment, la première ligne de la constante (qui doit être du nom du fichier, dans l'exemple ci-dessus : exemple_xpm) indique la largeur de l'image en pixel (24 pixels ici), la longueur (20 ici), le nombre de couleurs (3 ici) et enfin le nombre de caractere(s) codant chaque couleur (ici 1). Puis vient l'identification des couleurs, dans l'exemple un espace équivaut à un pixel transparent (" c None"), un point équivaut à un pixel bleu (". c #3A32E4") et le + équivaut à un pixel rouge ("+ c #E43232"). Enfin, vient la représentation de l'image par les différents caractères associés aux couleurs.

Lorsque l'ordinateur (dirigé par la bibliothèque adéquate) lit ce fichier, il fait les même opérations qu'un enfant face à un puzzle de couleur, lorsqu'il doit colorier de rouge les parties comportant un "1", de bleu les parties comportant un "2"...

[modifier] Liens externes