![]() |
Bitmaps archivieren und laden?
Hallo.
Ich hatte vor für ein Spiel alle Bitmaps binär hintereinanderweg in eine Datei zu schreiben und dann eben zur Laufzeit zu laden, damit nicht hunderte Bitmaps in Ordnern rumfliegen und auch leicht verändert werden können. Das Problem ist allerdings, dass die Funktion, die zum Bitmapladen verwendet wird, nur einen Dateinamen als Parameter erwartet. Wie soll das gehen ohne temporäres Speichern? Ich hab auch schon überlegt, alles in eine DLL zu verpacken als Resource und dann mit MAKEINTRESOURCE(???) als Dateinamen zu übergeben, allerdings geht das Programm dann sofort und ohne Fehlermeldung aus :| Naja, das "Bitmaparchiv" wär mir sowieso lieber. Jemand ne Idee? Danke schonma :!: |
Re: Bitmaps archivieren und laden?
Die WinApi bietet die Möglichkeit aus einem Bild, einen Bereich in eine Bitmap zu laden.
Die Funktion dafür ist unter anderen BitBlt! |
Re: Bitmaps archivieren und laden?
Hi. Danke, aber danach suche ich nicht.
Ich habe ja ganz viele EINZELNE Bitmaps binär hintereinander in einer einzigen Datei gespeichert und möchte diese gezielt auslesen. Hinzu kommt ja noch, dass ich als Parameter einen String und kein HDC oder HBITMAP angeben kann. |
Re: Bitmaps archivieren und laden?
Erzählen kannst Du ja, zeig etwas Code !
|
Re: Bitmaps archivieren und laden?
Hallo Rastaman,
ich kann zwar direkt keine Lösung zu Deinem Problem angeben, möchte dich aber auf eine Komponente hinweisen: ![]() Damit können beliebige Dateien in einer Datei gespeichert und bequem wieder ausgelesen werden. Gruß Pfoto |
Re: Bitmaps archivieren und laden?
Hä was soll ich zeigen, wenn ich nix habe.
Ich habe noch gar kein Programm erstellt um bequem solche Dateien mit zig Bitmaps zu erstellen, denn wieso auch, wenn ich nichtmal weiß, wie ich sie später laden soll? Die Funktion zum Laden der Bitmap lautet übringens
Code:
oder grob übersetzt
SDL_Surface *SDL_LoadBMP(const char *file);
Delphi-Quellcode:
Is ja eigentlich auch egal, denn ich muss wissen wie ich diese Bitmap, die sich irgendwo in einer
function SDL_LoadBMP(file: String): PSDL_Surface;
großen Datei befindet, die voll ist mit Bitmaps, so präpariere, dass ich sie mit dieser Funktion laden kann. |
Re: Bitmaps archivieren und laden?
Zitat:
|
Re: Bitmaps archivieren und laden?
Lad das große Bitmap in ein TBitmap und kopier dir dann den Teil, den brauchst, aus dem Canvas des gro0en Bitmaps raus.
|
Re: Bitmaps archivieren und laden?
Zitat:
kannst du mir sowieso nicht helfen. Aber bitte ...
Code:
So sind meine Bitmaps gespeichert. Einfach binär hintereinander weg.
---Bilderarchiv1.ba
- BMP_Gehweg.bmp - BMP_Gras.bmp - BMP_Wand.bmp --- Dann kommt die Funktion zum Laden der Bitmaps, die als Parameter einen DATEINAMEN, nichts weiter, erwartet. Wie kann ich jetz z.B BMP_Gras.bmp Laden, ohne eine temporäre Bitmap auf der Festplatte zu erstellen. Sprich ...
Code:
Ist wahrscheinlich nicht nur uneffizient sondern auch unschön.
Erstelle neue Bitmap BMP_Gras.bmp.tmp
Schreibe Datei voll mit den Daten aus Bilderarchiv1.ba Lade Datei mit SDL_LoadBMP(BMP_Gras.bmp.tmp) Lösche BMP_Gras.bmp.tmp |
Re: Bitmaps archivieren und laden?
Zitat:
Nene so gehts ja nicht. Ist wie bei deinem SFX-Archiven. Die Dateien sind einfach hintereinander weg gespeichert. Es ist ja nicht ein Bild, also eine große Bitmap. Und selbst dann, wenn ich es nach deiner Methode machen würde, müsste ich die Datei zwischenspeichern auf Festplatte, weil eben ein Dateiname erwartet wird. Das ist ja das Problem :stupid: Ich hab das blöde Gefühl es geht gar nicht ohne Zwischenspeichern :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz