X PixMap

Le X Pixmap ( XPM ) est un ASCII - format texte-basé d'image employé par le système de fenêtre du X. Il a été créé dans le 1989 par le Daniel Dardailler et le Colas Nahaboo fonctionnant au INRIA , France , et plus tard a été augmenté par le Arnaud Le Hors . On le prévoit principalement pour créer le Pixmaps de l'icône et soutient la couleur transparente. Il a une structure simple, dérivant de la syntaxe plus tôt du XBM . Il peut être créé et manoeuvré using n'importe quel éditeur de texte et peut être inclus dans un dossier de langue du C .

Modèles

Trois modèles sont connus, le XPM2 simple ont dépouillé toutes les idiosyncrasies du C , exemple :

!
128 128 de XPM2 64 etc., palette de
du Z c #eeeeee de
du z c #f6f6f6 du
1
using le de
du @ c #080808 s codes de caractère du 1 . rangée tronquée par de
du . c #000000
la première, chaque point est un Pixel avec la couleur #000000 comme défini ci-dessus.

C'est au sujet d'une image XPM2 avec la largeur 128, la taille 128, 64 couleurs, using un caractère par Pixel. Un outil est connu pour employer seulement le un au p pour 16 couleurs, commutant au aa jusqu'au DP pour 64 couleurs, mais en lisant toujours des codages simples de caractère pour 64 couleurs, comparer le Base64 . Avec plus de couleurs les codes emploient plus de caractères, par exemple le aa jusqu'au pp pour 16*16=256 colore. C'est moins utile pour des éditeurs de texte, parce qu'un ab de corde pourrait être réellement le milieu du dabc adjacent de deux Pixel. On permet les espaces comme code couleurs, voient les liens , mais pourraient être une mauvaise idée selon l'éditeur de texte utilisé. Sans codes de commande, l'espace, et les caractères du 128-33-2=93 ASCII de citation (requise dans XPM1 et XPM3) sont disponibles pour des codes couleurs simples de caractère.

Il est utile si le convertisseur d'autres formats à XPM peut assortir la palette de blanc au noir, parce qu'une des raisons d'éditer une icône pourrait être de se débarasser des objets façonnés d'anticrénelage après une réduction des couleurs de nombre, ajoutant les Pixel affectés à #000000 ou à #ffffff agissant en tant que couleur de transparent (les points dans l'exemple).

Pour XPM2 c'est combien de lignes appartiennent à l'image, les deux lignes claires d'en-tête, la deuxième ligne d'en-tête annonçant le nombre de codes couleurs (64 lignes dans l'exemple ci-dessus) et les rangées (taille 128 dans l'exemple ci-dessus), par exemple les lignes 2+64+128=194.

Les autres modèles sont conçus pour être employés comme est dans des sources de C, exemple : *XFACE_colors static de char XFACE_chars_per_pixel 1 de #define XFACE_ncolors 2 de #define XFACE_height 48 de #define XFACE_width 48 de #define XFACE_format 1 de #define de

= {" ; a" ; , " ; #ffffff" ; , " ; b" ; , " ; #000000" ; } ; *XFACE_pixels static de char = {" ; abaabaababaaabaabababaabaabaababaabaaababaabaaab" ; , etc., 48 rangées avec 48 Pixel .

C'est une image noire et blanche dans les premier (1989) formats de XPM. L'icône de source était dans le format de png , et bien qu'elle ait défini #ffffff As transparent, ce détail a été perdu dans la conversion. Des codes de RVB #123456 peuvent être également remplacés par des noms connus de couleur trouvés dans un " ; location" bien connu ; rgb.txt, où " ; location" bien connu ; dépend des outils du système d'exploitation et utilisés. Le " de XPM ; colour" ; le nom pour le transparent est aucun .

Juste pour les disques la même image dans les autres modèles :

!
48 48 de XPM2 2 1
etc. de
du
abaabaababaaabaabababaabaabaababaabaaababaabaaab du b c #000000 C. #ffffff du
< TTT > char statique de de
du /* XPM */ de

* XFACE = {" de ; 48 48 2 1" ; , " de ; #ffffff" de C. ; , " de ; b c #000000" ; , " de ; abaabaababaaabaabababaabaabaababaabaaababaabaaab" ; , etc.

Le dernier format est XPM3, le format commun utilisé pour le système depuis environ 1991 de fenêtre de X. Le c signifie le " ; colour" ; , il est possible d'ajouter le m pour le " ; monochrome" ; rendement, g pour le " ; grayscale" ; , et s pour le " ; symbolic" ; , expliquant ce qu'une couleur définie est censée pour faire.

Le " ; symbolic" ; le dispositif laisse ajuster des couleurs selon le contexte où elles sont employées, comme disent que la frontière c blue de s pourraient être ajustés sur un fond bleu.

Si la largeur, la taille, les couleurs, et les caractères par la ligne de Pixel contient six au lieu de quatre nombres les valeurs additionnelles indiquent les coordonnées d'un " ; hotspot" ; , le 0 0 est le coin gauche supérieur d'une boîte contenant l'icône et le défaut. Un " ; hotspot" ; est employé pour des indicateurs de souris et des applications semblables.

Comparaison avec XBM

Voici la même image que montrée sur le XBM dans les deux formats, les exemples sont les images complètes Blarg.xbm et Blarg.xpm : blarg_xbm_width 16 de #define blarg_xbm_height 7 de #define blarg_xbm_bits statiques de char = { 0xec, 0xff, 0xea, 0xff, 0x6c, 0x32, 0xaa, 0x5a, 0x6c, 0x3a, 0xff, 0x7f, 0xff, 0x9f} ; Au-dessus de est le XBM (texte de 183 bytes), au-dessous du XPM2 (170 bytes), pour les Pixel 16*7 noirs et blancs. ! XPM2 16 7 2 1 #ffffff de C .

Voir également

Histoire du GIF89a, également inventée en 1989
La couleur du X11 appelle , explication de rgb.txt

.

Random links:Kalsilite | Yankton, le Dakota du Sud | Louie Anderson | U.S. Itinéraire 283 | L'hôpital des femmes et des enfants de Kandang Kerbau | X_PixMap