WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 04.09.2001, 17:12   #1
loa
Newbie
 
Registriert seit: 01.08.2001
Beiträge: 18


Frage 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 wie ich
Grafikdateien einlesen und anzeigen kann.

Kann mir dabei jemand helfen, oder kennt jemand Tutorials?

Danke

PS: I hate Toolkits
loa ist offline   Mit Zitat antworten
Alt 04.09.2001, 18:51   #2
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

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
kikakater ist offline   Mit Zitat antworten
Alt 05.09.2001, 10:31   #3
loa
Newbie
 
Registriert seit: 01.08.2001
Beiträge: 18


Standard

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.

Danke
loa
loa ist offline   Mit Zitat antworten
Alt 05.09.2001, 15:05   #4
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

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
kikakater ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:42 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag