X pixmap

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.

Format de fișier

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 > };

Valori

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" ,

Culori

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”

Pixeli

Ș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:

„`.`#`#`#`." , „`.`#`#`#`." , „`.`#`#`#`."

Transparență

Formatul acceptă 1 culoare transparentă, care este descrisă ca Niciuna în tabelul de culori. De exemplu:

„`.c Niciunul” ,

Exemplu de imagine

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" };

X Proprietăți Pixmap

Formatul X Pixmap are o serie de avantaje și dezavantaje care îl deosebesc de alte formate:

  1. Formatul X Pixmap corespunde părții de server a protocolului X, în aproape toate funcțiile Xlib parametrul este transmis drawable, ceea ce poate însemna fie fereastră Window, fie XPixmap.
  2. Formatul de stocare a imaginilor la nivelul clientului este XImage .

Utilizare în cod

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]

Note

  1. Capitolul X. Lucrul cu imagini. Partea 1 Arhivat pe 28 iunie 2010 la Wayback Machine Julian Smart