X PixMap

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
XPM
X PixMap
Caractéristiques
Extension
.xpmVoir et modifier les données sur Wikidata
PUID
Type de format

X PixMap, connu également sous le sigle XPM, est un ancien format d'image utilisé entre autres par X11.

Histoire[modifier | modifier le code]

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.

Caractéristiques[modifier | modifier le code]

Une image XPM est un fichier texte lisible par un humain, il peut être directement intégrer dans un code source de programme comme ici en C :

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

Un fichier XPM intégré vu par un éditeur de texte

Ce même fichier XPM affiché dans le programme

Précisément, 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 hauteur (20 ici), le nombre de couleurs (3 ici) et enfin le nombre de caractère(s) codant chaque couleur (ici 1). Puis vient l'identification des couleurs. Dans l'exemple, une 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êmes opérations qu'un enfant face à un puzzle de couleurs, lorsqu'il doit colorier de rouge les parties comportant un "1", de bleu les parties comportant un "2"...

Liens externes[modifier | modifier le code]