X Pixmap (XPM) este un format de fișier grafic bazat pe text. Folosit de partea de server a sistemului X Window . Caracteristica principală a formatului este că folosește semantica limbajului C și poate fi inclus în cod. Dezvoltat în 1989 de Daniel Dardailler și Colas Nahaboo de la Centrul de Cercetare a Taurului din Sophia Antipolis ( Franța ). Îmbunătățit ulterior de Arnaud Le Hors.
Fișierul constă dintr-o descriere a unei matrice de șiruri în 6 secțiuni ale formatului:
caracter static * < nume_variabilă > [] = { < Valori > , < Culori > , < Pixeli > , < Extensii > };Descrie parametrii imaginii cu valori separate prin spații: lățime, înălțime, număr de culori, caractere pe culoare. De exemplu:
"5 3 256 2" ,Tabelul de culori descrie modul în care simbolurile corespund culorilor. Formatul este <caractere><spațiu><c><spațiu><valoare>. De exemplu:
„`.c#ffffff” , „`#c#ff0000” , „`ac#6b6b6b”Șiruri formate din caracterele descrise în tabelul de culori. De exemplu, un pătrat roșu de 3 pe 3 pixeli pe o casetă albă de 5 pe 3 pixeli:
„`.`#`#`#`." , „`.`#`#`#`." , „`.`#`#`#`."Formatul acceptă 1 culoare transparentă, care este descrisă ca Niciuna în tabelul de culori. De exemplu:
„`.c Niciunul” ,Această imagine arată astfel în format xpm:
/* XPM */ caracter static * green_simple_cross_xpm [] = { /* lățime înălțime num_culos chars_per_pixel */ "36 36 5 1" , /* culori */ „`c#ffffff” , „.c#00ff00” , „#c#ff0000” , „ac#000000” , „bc#0000ff” , /* pixeli */ „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „````````````...........############" , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , „..................................” , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" , "aaaaaaaaaaaa............bbbbbbbbbbbb" };Formatul X Pixmap are o serie de avantaje și dezavantaje care îl deosebesc de alte formate:
Este suficient să includeți fișierul și puteți utiliza o variabilă (de exemplu, aceasta este green_simple_cross_xpm):
#include „image.xpm”X Pixmap poate fi folosit nu numai pentru aplicațiile X Window , ci și în medii de dezvoltare multiplatformă. De exemplu, suportul pentru acest format este implementat complet în biblioteca wxWidgets . [unu]