Les fichiers de type pixmap permettent d'afficher des images en couleurs, mais le principe est le même que pour les fichiers de type bitmap : dans un fichier texte écrit en C sont spécifiés la taille de l'image, le nombre de couleurs, le nombre de caractères par point ainsi qu'une représentation ASCII du dessin, chaque charactère correspondant à une couleur définie juste avant. Par exemple, le fichier suivant :
/usr/X11R6/include/X11/pixmaps/xterm.xpm
contient les spécifications suivantes :
/* XPM */ static char * image_name [] = { /**/ "64 38 8 1", /**/ " s mask c none", ". c gray70", "X c gray85", "o c gray50", "O c red", "+ c darkolivegreen", "@ c white", "# c black", " ",
" ", " ........................... ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXoo ", " OOOOOOOOOO .XXOOO++++++++++++++++++++XXXXoo ", " OOOOOOOOOO .XOOO++++++++++++++++++++++XXXooo ", " OOOOOOOOOO .OOO+@@+@++@+@@@@++@+++++++XXXooo ", " OOOOOOOOOO OOO++++++++++++++++++++++++XXXoooo ", " OOOOOOOOOO OOOX++@@@@+@@+@@@+++++++++++XXXoooo ", " OOOOOOOOOO OOOXX++++++++++++++++++++++++XXXooooo ", " OOOOOOOOOO OOO.XX++@@@@@@@@@@+@@@@@++++++XXXooooo ", " OOOOOOOOOO OOO .XX++++++++++++++++++++++++XXXooooo ", " OOOOOOOOO OOO .XX++@@@+@@@@+@@++@@@++++++XXXooooo ", " OOOOOOO OOO .XX++++++++++++++++++++++++XXXooooo ", " OOOOO OOOO .XX++@+++++++++++++++++++++XXXooooo ", " OOO OOOOOO .XX++++++++++++++++++++++++XXXooooo ", " OOO OOOOOOOO .XX++@@@@+@+@@@+@++++++++++XXXooooo ", " OOO OOOOOOOOOO.XX++++++++++++++++++++++++XXXooooo ", " OOO OOOOOOOOOOXX++@+@@@@++++++++++++++++XXXooooo ", " OOO OOOOOOOOOOXX++++++++++++++++++++++XXXXoooo ", " OOO OOOOOOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXooo ", " OOO OOOOOOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXooo ", " OOO OOOOOOOOOOoooooooooooooooooooooooo...oo ", " OOO OOOOOOOOOO.........................ooo ", " OOO OOOOOOOOOOooooooooooooooooooooooooooo ", " OOO OOOOOOOOOOXXXXXXXXXXXXXXXXXXXXXXoooo.. .. ", " OOO oXXXXXXXXXXXXXXXXXX#######XXoooo . .", " oooooooooooooooooooooooooooXXXooo . ", " oXXXXXXXXXXXXXXXXXXXXXXXXXXooooo . ", " oXXXXXXXXXXXXXXXXXXXXXXXXXXoo oooooo ", " oXX@@@@@@@@@@@@@@@@@@@XXXXXoo ooooo...o ", " oXXXXXXXXXXXXXXXXXXXXXXXXXXoo ooXXXoo..o ", " oXX@@@@@@@@@@@@@@@@@@@@XXXXoo oXXXXX..o ", " oXXXXXXXXXXXXXXXXXXXXXXXXXXoo o.....oo ", " oooooooooooooooooooooooooooo ooooooo ", " ", " "};
Les commentaires sont compris entre ``/*'' et ``*/''. Ce fichier a une largeur de 64 points, une hauteur de 38 points, il a 8 couleurs et un caractère par point.
Pour visualiser rapidement une image pixmap, on peut utiliser la commande sxpm
:
sxpm /usr/X11R6/include/X11/pixmaps/xterm.xpm &
comme le montre la figure 3.3.
Pour éditer ou modifier des fichiers pixmap, on peut utiliser le programme xpaint
, qui permet de faire à peu près tout ce qui est possible de faire sur un dessin, en couleurs en plus. On peut sauvegarder des zones spécifiques de l'image ou l'image toute entière, dans différents formats, utiliser la loupe pour les modifications, définir la taille d'une nouvelle image...Il existe même deux pallettes différentes, l'une primaire (pour les contours d'une forme géométrique) et l'autre secondaire (pour le remplissage de l'intérieur d'une forme géométrique). On peut également modifier une pallette et sauvegarder ces modifications.
Enfin, il existe plusieurs options de traitements algorithmique de l'image : bosses, relief, inversion des couleurs, aiguisé....