www.wikidata.de-de.nina.az
X PixMap XPM ist ein ASCII Text Format fur die Darstellung von Rastergrafiken hauptsachlich Icons X PixMap Dateiendung xpm MIME Type image x xpixmap image x xpm 1 Entwickelt von Daniel Dardailler und Colas Nahaboo Erstveroffentlichung 1989 Art Rastergrafik Erweitert von X BitMap XBM Die erste Version von XPM stammt aus dem Jahr 1989 und wurde von Daniel Dardailler und Colas Nahaboo auch Autor des Window Managers GWM fur das X Window System entwickelt die beide am franzosischen INRIA arbeiteten Spater wurde das Format von Arnaud Le Hors erweitert Die Intention hinter dem Format ist es farbige Icons am Computer darzustellen Die Struktur des Datenformats ist einfach und an das altere monochrome XBM Format angelehnt Die Grafiken bestehen aus reinen Textdateien sie konnen mit einem einfachen Texteditor bearbeitet und ebenso wie XBM Dateien direkt in C Quellcode eingebunden werden Inhaltsverzeichnis 1 Beispiel 2 Formatbeschreibung 2 1 Dateikopf 2 2 Deklarationszeile 2 3 Werte Zeile 2 4 Farbdefinitionen 2 5 Bilddaten 2 6 Erweiterungen 2 7 Dateiende 3 Praktische Einschrankungen 4 EinzelnachweiseBeispiel BearbeitenDas folgende Beispiel demonstriert die Syntax des XPM Formates anhand eines roten Achteckes auf einem transparenten Hintergrund das von einem blauen Querbalken uberdeckt wird XPM Quelltext Resultierendes Bild XPM static char XPM example 24 20 3 1 12 10 XPMEXT c None c 0000FF c FF0000 XPMEXT author Anonymous XPMEXT address Beispielweg 42a 0815 Beispielstadt LUMMERLAND mailto anonymous beispielstadt lum XPMENDEXT nbsp Formatbeschreibung BearbeitenEine XPM Datei besteht aus sieben Teilen 2 Kopfzeile engl header line Deklarationszeile engl Declaration and Beginning of Assignment line Werte engl values Farben engl cColors Pixel engl pixels Erweiterungen engl extensions Ende engl End of Assignment Das Format ist so definiert worden dass eine XPM Datei stets gultiger C Quellcode ist Damit konnen XPM Dateien uber include Direktiven direkt in C Programme eingebunden werden Da die meisten Programme die XPM Dateien verarbeiten keine vollwertigen Parser fur C Quellcode besitzen sollte man sich beim Erzeugen von XPM Dateien strikt an das in der Formatspezifikation beschriebene Format halten Die auf die Deklarationszeile folgenden Zeilen bestehen jeweils aus C Zeichenkettenkonstanten Dies bedeutet ihr Inhalt wird in ASCII Anfuhrungszeichen eingeschlossen und durch Kommas voneinander getrennt Dateikopf Bearbeiten Die Kopfzeile besteht aus einem C Kommentar XPM Dieser dient als Magische Zahl um XPM Dateien erkennen zu konnen Deklarationszeile Bearbeiten Die nachste Zeile ist die sogenannte Deklarationszeile welche eine Variablendeklaration in C darstellt Der Variablenname kann dabei beliebig sein er muss ein gultiger C Bezeichner sein Normalerweise wird hierfur der Name der Bilddatei verwendet static char bildname Werte Zeile Bearbeiten Die Werte Zeile enthalt vier bzw sechs Dezimalzahlen mit folgenden Bedeutungen Breite des Bildes in Pixel Hohe des Bildes in Pixel Anzahl der Farben im Bild Anzahl der Zeichen pro Pixelwert X Position des Hotspots Y Position des Hotspots Die letzten beiden Werte geben die Position eines so genannten Hotspots an Dies ist etwa bei Mauscursorn der Punkt auf den der Mauspfeil zeigt Bei normalen Bildern wird dieser Wert nicht benotigt und kann entfallen Besitzt die XPM Datei Erweiterungen engl extensions so folgt auf die letzte Zahl der Werte Zeile das Wort XPMEXT Farbdefinitionen Bearbeiten Anschliessend folgen mehrere Zeilen die jeweils eine Farbe im Bild definieren Die Anzahl dieser Farbdefinitionen geht aus dem dritten Wert der Wertezeile hervor Jede Farbdefinition besteht aus einem Zeichencode Die Lange des Zeichencodes geht aus dem vierten Wert der Wertezeile hervor Nach einem Leerzeichen folgen eine oder mehrere Farbdefinitionen die dem Zeichencode eine Farbe zuordnen Resultierend aus dem ursprunglichen Verwendungszweck von XPM als Dateiformat fur Icons konnen fur verschiedene Darstellungsarten unterschiedliche Farbdefinitionen angegeben werden Dies hat den Vorteil dass die Darstellung fur verschiedene Farbtiefen optimiert werden kann und nicht aus einer farbigen Darstellung eine Schwarzweissdarstellung errechnet zu werden braucht Folgende Darstellungsarten werden unterstutzt c Farbig g4 Vier Graustufen g Mehr als vier Graustufen m Monochrom Schwarzweiss s Symbolisch damit kann eine Farbe einen symbolischen Wert bekommen etwa Hintergrund oder Vordergrund Die Auswertung dieser Symbolinformationen ist abhangig vom verwendeten Programm Auf diese Angabe folgt dann die eigentliche Farbdefinition Diese kann aus einem symbolischen Namen bestehen z B white red eine Farbe im RGB Farbraum als hexadezimale Farbdefinition RRGGBB oder im HSV Farbraum HHSSVV Soll eine Farbe als transparent gekennzeichnet sein so ist die Farbe auf None zu setzen Beispiel A c red m black g gray50 s foreground B c yellow m white g gray80 s background c black m black g gray10 s border Bilddaten Bearbeiten Nach den Farbdefinitionen folgen die Bilddaten Diese sind zeilenweise von oben nach unten in einer Zeile von links nach rechts abgespeichert Jede Bildzeile wird in einer Textzeile in der XPM Datei abgespeichert Pro Bildpunkt wird abhangig vom oben angegebenen Wert ein oder mehrere Zeichen benutzt Diese Notation hat zur Folge dass sich einfache Bilder bereits im Quellcode erkennen lassen siehe ASCII Art Erweiterungen Bearbeiten Sofern in der Werte Zeile das Vorhandensein von Erweiterungen angezeigt worden ist folgen auf die Bilddaten Erweiterungs Zeilen die stets folgendes Format haben Einzeilige Erweiterungsdaten XPMEXTextension name extension value Mehrzeilige Erweiterungsdaten XPMEXTextension name data Es ist nicht spezifiziert wie das Ende von mehrzeiligen Erweiterungsdaten gekennzeichnet werden soll Die XPM Spezifikation empfiehlt zur Vermeidung von Namenskollisionen die Namen der Erweiterung mit dem Firmennamen beginnen zu lassen Sie lasst allerdings offen wie dieser im Detail aussehen soll Das Ende des gesamten Erweiterungs Blocks wird durch eine Zeile angezeigt die nur den Inhalt XPMENDEXT hat Dateiende Bearbeiten Um die C Deklaration abzuschliessen folgt am Dateiende eine Zeile mit der Zeichenfolge Praktische Einschrankungen BearbeitenDa die meisten Programme die XPM Dateien verarbeiten konnen keine vollstandigen C Parser sind sollten Programme die XPM Dateien erzeugen nicht von dieser Spezifikation abweichen insbesondere keine andere Formatierung des Quellcodes vornehmen und keine C Kommentare ausser der obligatorischen Kopfzeile oder Ahnliches hinzufugen Auch verstehen viele Programme die komplexen Farbdefinitionen nicht sondern beherrschen nur eine Darstellungsart oder ignorieren diese Angabe vollig und werten nur den Farbcode aus und verstehen ausserdem nur hexadezimale RGB Farbcodes und None fur die transparente Farbe Die Zeichencodes mit denen eine Farbe kodiert wird durfen aus beliebigen ASCII Zeichen bestehen Es empfiehlt sich jedoch nur Buchstaben Ziffern und einige sichere Sonderzeichen zu nehmen womit sich etwa 70 bis 80 verschiedene Farben darstellen lassen Enthalt ein Bild mehr Farben muss auf Zeichencodes die aus zwei Zeichen bestehen ausgewichen werden Obwohl die XPM Spezifikation keine Maximallange der Zeichencodes vorsieht sollte man maximal aus zwei Zeichen bestehende Zeichencodes verwenden was bis zu 80 80 6400 Farben zulasst da einige Programme die XPM Datei sonst nicht lesen konnen Einige Programme weigern sich ausserdem mehr als 256 Farbdefinitionen zu lesen oder sie erzeugen beim Speichern eine Farbtabelle mit maximal 256 Farben obwohl das XPM Format grossere Farbtabellen zulasst Die XPM Spezifikation macht keine Angaben daruber was in den Erweiterungs Zeilen inhaltlich stehen soll sie definiert keine Erweiterungen Sie werden daher praktisch nicht verwendet und die meisten Programme die nicht die libxpm zum Lesen von XPM Dateien benutzen verstehen sie auch nicht Einzelnachweise Bearbeiten MIME Type Ubersicht SELFHTML abgerufen am 19 Juni 2022 Arnaud Le Hors XPM Manual The X PixMap Format pdf Chapter 2 The XPM Format 10 September 1996 abgerufen am 19 Dezember 2020 englisch Version 3 4i Abgerufen von https de wikipedia org w index php title X PixMap amp oldid 223852940