Bitmap mit Anwendung ausliefern
-
Hallo,
ich schreibe eine Anwendung in welcher mehrere Bitmapdateien angezeigt werden sollen.
Ich möchte diese Bitmaps dynamisch aufrufen und nicht in die Anwendung mit einbinden.
Da es sich hierbei um ca. 130 Stück 24 - Bit Bitmap mit 600 x 800 Pixeln handelt, wird die Datenmenge bei ca. 187,20 MB ohne Kompression liegen.
Dazu habe ich die Vorstellung, diese Dateien in eine Art von Container unterzubringen und dann über eine Funktion aus der Anwendung heraus abzurufen.
Geht das mit einer DLL, wenn ja wie wäre da der Lösungsansatz ?
Meine gedachte Vorstellung ist eine DLL mit VCL - Komponente (TImageList in welcher die Bitmaps untergebracht sind).Andere Lösungen werden jederzeit gerne angenommen.
Es soll vermieden werden, die Bilder als Bitmap dem Endverbraucher durchzureichen.
Mit freundlichen Grüßen und besten Dank im voraus
-
Bind sie halt als Ressource ganz normal in ne Dll ein.
-
@elarom: Wenn jemand die Bitmap wirklich haben will, macht der sich n Screenshot und Schneidet mit nem Grafikprogramm das Bild daraus... :p
-
Hallo,
danke für die schnellen Antworten.
Bitte beschreibt mir mal etwas genauer wie man Bitmaps in einer DLL einbindet oder besser wäre ein kleies Codebeispiel für die Einbindung und den Aufruf zum Auslesen
Das Ausschneiden der Grafik über den Sreenshot ist dabei zu vernachlässigen, da es mit Arbeit verbunden ist.
Ausserdem geht es mir dabei auch um das Programmierungsprinzip.
Nochmals besten Dank
-
elarom
Speicher doch alle Bilder in EINE "BILD-" Datei (Stream). Groesse1, Bild1, Groesse2, Bild2 ... Groessen, Bildn.
Am Anfang kannste auch ne Binaere Tabelle schreiben.
Bei Gebrauch liest Du die Groese aus (je 4 Byte) und Kopierst soviel Bytes aus Stream in MemoryStream. Von dem kannste in TPicture laden!
-
Hallo,
danke für den Tip mit der "Bild" -Datei.
M.f.G
-
Die Bitmap Komponente bietet die Methode SaveToStream an.
Du muß halt erstmal ein Programm schreiben in dem die Bitmaps aneinander hängst
// Im Programm zur Speicherung der Bilder
Graphics::TBitmap* bmp = new Graphics::TBitmap();
bmp->LoadFromFile("Pfad des Bildes");// Stream zur Bilder -Datei öffnen
TFileStream fst = new TFileStream("Pfad Bilddatei", fmOpenWrite);
fst->Seek(0, soFromEnd);// Bitmap der Bilder- Datei anhängen
bmp->SaveToStream(fst);Die Bilder kannst du dann ganz analog dazu mit der Methode LoadFromStream wieder aus der Datei laden.
-
wie wärs mit jpgs ?
ausserdem : http://www.inf.hs-zigr.de/~fatman98/builder_resourcen.php
[ Dieser Beitrag wurde am 03.07.2003 um 15:26 Uhr von 1ntrud0r editiert. ]