![]() |
X11 Programm Grafikdateien einlesen?
Hallo X11 Experten,
ich bin grad dabei in die tiefen Abgründe des X11 Programmierens ( C unter Linux ) vorzudringen. Läuft bis jetzt ganz gut. Im Moment allerdings bin ich auf der Suche :confused: wie ich Grafikdateien einlesen und anzeigen kann. Kann mir dabei jemand helfen, oder kennt jemand Tutorials? Danke PS: I hate Toolkits :ms: |
Bitmaps kann man in X mit XReadBitmapFile einlesen ...
Ein Sourcefile (im HTML-Code der Seite) ist unter Loading A Bitmap From A File zu finden ! Das ganze Tutorial - Basic Graphics Programming With The Xlib Library - findest Du hier. mfg Kikakater |
Danke,
aber XReadBitmapFile funktioniert leider nur bei monochromen Bitmapdateien. Ich versuche aber eine .XPM oder sonstige mehrfarbige Grafikdatei einzulesen. Im Detail stellen sich mir 2 Fragen. 1. Wie bekomme ich die Datei in ein Pixmap 2. Wie muß ich die colormap anpassen. Hoffe es gibt jemanden der mir helfen kann.:heul: Danke loa |
1. X-Window Vorbereitung:
Du mußt ein Fenster - ein Kindfenster respektive - mit der richtigen Funktion XCreateWindow und nicht XCreateSimpleWindow erzeugen, weil XCreateSimpleWindow die Farbtiefe vom ParentWindow für das ChildWindow übernimmt, im Parameter depth mußt Du bei Aufruf der Funktion XCreateWindow die Farbtiefe für das Fenster angeben. 2. Farbinformation holen und eine Colormap erzeugen: Weiters muß für den screen eine entsprechende Colormap vorhanden sein, am besten du suchst unter www.google.com z.B. nach +"graphic bzw. +"file formats" +sourcecode (je nach dem). Nachdem Du die Position der Farbtabelle im jeweiligen Imagefile (bmp,jpg, ...) weißt, mußt Du an dieser Offset-Adresse die Farbwerte AUS DER z.B. jpg DATEI auslesen und dann eine entsprechende Colormap mit XCreateColormap erzeugen. 3. Bildinformation laden (Dateitypspezifische Einleseroutine): Die Bildinformation muß natürlicherweise (=na * no * na * ned) je nach Grafikformat über eine eigens sich über das Internet oder andere Quellen zu besorgende und in den Sourcecode respektive ins eigene Projekt einzubindende Routine(nsammlung) eingelesen und eine Pixmap erzeugt werden. 4. Pixelinformation aus den Rohdaten erzeugen: Statt XReadBitmapFileData verwendest Du z.B. ReturnCode= MyReadJPEGFileData(Buffer,Filepath), danach hast Du die Bitmap-Rohdaten in einem Buffer und erzeugst mittels XCreatePixmapFromBitmapData eine Pixmap, dieser Buffer für die Rohdaten muß als 3.Parameter an XCreatePixmapFromBitmapData übergeben werden. mfg Kikakater |
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag