WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   X11 Programm Grafikdateien einlesen? (http://www.wcm.at/forum/showthread.php?t=29697)

loa 04.09.2001 17:12

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:

kikakater 04.09.2001 18:51

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

loa 05.09.2001 10:31

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

kikakater 05.09.2001 15:05

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