bitmap aus Ressourcendatei laden



  • Hi,
    ich habe bisher für mein Spiel bitmaps mit SDL_LoadBMP(relativer Pfad) geladen. Ich möchte nun diese Bilder an meine exe anbinden. Ich habs jetzt geschafft mit ResEdit eine .rc Datei zu erstellen und sie dem Projekt in Visual Studio Express hinzuzufügen. Meine neue exe ist jetzt entsprechen größer geworden. Aber wie kann ich denn jetzt auf diese Bitmaps zugreifen? Auch mit LoadBMP? Und wenn ja, mit welchem Pfad?



  • Wenn ich mich richtig erinnere, geht das mit LoadResource. Dadurch bekommst du einen Pointer auf eben die Daten. Dann muss SDL halt noch irgendeine Funktion anbieten, die das Bitmap nicht aus einer Datei, sondern aus dem Arbeitsspeicher lädt.



  • Weiß jemand vielleicht genauer wie das funktioniert? Ich komm einfach nicht weiter.



  • Wenn du wirklich an die Bitmap willst, kannst du gleich LoadBitmap() mit MAKEINTRESOURCE nutzen, und dann halt SelectObject() vorm Zeichnen. Ansonsten bei Binärdaten: FindResource(), LoadResource(), LockResource().



  • Sorry, ich kenn mich da überhaupt nicht aus. Won welcher Bibliothek redest du überhaupt? Und was hat es mit MAKEINTRESOURCE auf sich?



  • Ich dachte es wäre klar, dass man die WinAPI meint, wo du ja schon mit Windows Ressourcen arbeitest. Gib die Befehle bei Google ein und lies die MSDN Doku, dann sollte das Vorgehen eigentlich ersichtlich sein.



  • Achso, soll ich das mit WinAPI machen? Habs bisher nicht benutzt. Oder gibts irgendwelche besseren Methoden?



  • Das ganze Ressourcengefummel ist sowieso schon Systemabhängig, und somit kannst du natürlich auch gleich die WinAPI nutzen.
    Besser(!) wäre es natürlich das gleich sein zu lassen, das Bild als Bild mitzuliefern und es einfach standardkonform zu laden.



  • Ok, ich dachte nur, es wär besser, wenn nicht jeder meine Bitmaps lesen und verändern kann, wie er will. Aber eigentlich ist es ja nicht soo wichtig. Jedenfalls mal danke!



  • Knobbers schrieb:

    Ok, ich dachte nur, es wär besser, wenn nicht jeder meine Bitmaps lesen und verändern kann, wie er will.

    Es wird niemanden aufhalten das zu machen, nur weil du die Bilder in die .exe linkst. Es gibt zwar Möglichkeiten so etwas sehr zu erschweren, aber warum solltest du den Nutzern verbieten ihre Bilder zu verändern? Sollen sie damit doch machen was sie wollen.


Anmelden zum Antworten