Entwickler-Ecke
Dateizugriff - Bitmaps in RECORD oder DATEI speichern
Mape - Mo 13.01.03 10:11
Titel: Bitmaps in RECORD oder DATEI speichern
:?:
vielleicht kann mir ja einer weiterhelfen...
ich möchte gerne eine Bitmap mit weiteren Daten in einem Record speichern und/oder in einer Datei abspeichern.
zB record
x,y:integer
bild:tbitmap;
end;
wie kann der das bild selbst und nicht nur den pfad abspeichern, damit ich mehrer Bitmaps in einer Datei speichern kann?
Klabautermann - Mo 13.01.03 10:20
Hallo,
da musst du mit untypisierten Dateien Arbeiten, und dir die Datei so aufbauen, das du vor dem Bitmap eil angiebst, wie groß dieses ist.
Am besten du guckst dir die Thematik (Untypisierte Dateien und/oder Streams) mal in der Delphi Hilfe an, und stellst dann weitergehende Fragen ;).
Gruß
Klabautermann
Mape - Mo 13.01.03 10:25
also ehrlich gesagt habe ich das schon versucht, bin aber nur an datenbanken usw. hängengeblieben..
hat nicht einer zufällig nen COde parat oder kann mich auf etwas ähnliches verweisen?
Klabautermann - Mo 13.01.03 12:26
Hallo,
ich habe jetzt nicht die Zeit dir hier code zu erstellen, aber eine Prizipielle Vorgegensweise kann ich dir beschreiben.
Der Einfachheithalber gehe ich davon aus, das du nur mehere Bitmaps in eine Datei schreiben willst.
Ein einzelnes Bitmap kann wie du weißt in der tBitmap Komponente laden und speichern. Dies funktioniert sowohl direckt aus Dateien als auch aus Streams. Jede Datei kannst du als Stream laden und schreiben.
Daraus ergibt sich, dass du ein Bitmap egal aus welcher Quelle es kommt als Stream betrachten kannst. Deshalb schlage ich vor, das du mit diesen Arbeitest.
Was du nun machen willst, ist im grunde das aneinanderhängen von mehreren Streams. Das ist nicht das Problem. Problematisch wird es dann, wenn du diese Streams wieder auseinander Fummeln willst.
Du musst dir also irgendwie Merken wo die einzelnen Teilstreams anfangen. Ich schlage vor, das du einfach vor jeden Teilstream einen LongInt einfügst, in welchen du speicherst wie lang der nächste Abschnitt ist.
Also Du hast viele Quellstreams, und einen Zielstream, in welchen alle Quellstreams kopiert werden sollen. Diesen kannst du dann speichern.
Der Aufbau des Zielstreams sieht nach meinem Vorschlag so aus:
[Länge Bitmap 1 (4Byte)] -> [Bitmap 1 (XByte)] -> [Länge Bitmap 2 (4Bypte)] -> [Bitmap 2 (Y Byte)] -> [...]
Gruß
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!