grafik laden *ohne SDL*


O-bake

Member
Joined
Oct 14, 2005
Messages
229
hallo,

ich arbeite mich gerade ein wenig in die programmierung ein und versuche von vornherein auf SDL zu verzichten und benutze rleyh's minlib.

ich bin gerade dabei meine kleine grafikbibliothek vom GP32 herüberzuholen und das PutPixel und somit auch das PutSprite scheinen zu funktionieren.

aber: beim GP32 habe ich meine grafiken auf eine weise in das programm eingebunden, die ich nie wirklich verstanden habe.
ich habe ein bitmap gehabt, zB grafik.bmp
in meiner source-datei habe ich #include "grafik.h" gesagt und irgendwie wurde beim gp32devkit dann ein bmp2bin-programm gestartet, das die grafik.bmp in eine .bin datei umgewandelt hat. irgendwie ist dabei dann auch noch eine grafik.h datei entsanden, in der dann wiederum auf auf die grfaik.bin verwiesen wurde.


lange rede, kurzer sinn:
diese methode hatte den vorteil, dass die grafik in das programm eingebunden wurde, so möchte ich das eigentlich auch hier beim gp2x machen.
frage: wie mache ich das?

falls das noch nicht "automatisch" funktioniert (bei dem gp32devkit musste ich mich um nichts kümmern, habe lediglich meine nitmaps gespeichert und #include "name.bmp" dem projekt hinzugefügt) würde ich auch gerne wissen, wie man ein bitmap von der SD-karte lesen kann.

im devkitgp2x liegt zwar eine jpeg.h, aber leider nichts vergleichbares für bitmaps.
zudem ist die jpeg.h riesig gross und ohne ein beispiel.

ich bräuchte eine prozedur wie:

unsigned short Bild;
open_bitmap(filename,Bild);

gibt es sowas schon?
 
Wenn du alle Grafiken als BMP in dein Executable reinpacken willst, dann werden die ziemlich genau 150kb pro Grafik gross und du verlierst Alpha Moeglichkeit.

Ich empfehle libpng zu verwenden und sie nachzuladen - das macht Anpassungen an Grafiken deutlich einfacher und produziert kleinere Projekte... Mir persönlich sind 10 Dateien mit insgesamt 2MB lieber als 1 Datei mit 6MB...

Zusätzlich: Diese Grafiken würden immer im Speicher sein, auch wenn sie nicht benutzt werden - IMHO keine gute Lösung.
 
Back
Top