Autor Beitrag
Mape
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 13.01.03 10:11 
:?:
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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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?
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mo 13.01.03 10:59 
Hi!

In diesem Posting habe ich ein einfaches Stream-Beispiel gegeben. Vielleicht hilft es ja.

Cu,
Udontknow
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: 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
Eisenherz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Di 14.01.03 18:18 
Hi Mape,

Na dann will ich mal wieder einen Link auf meine Homepage setzen. Dort findest Du Klassen, die derartige Aufgaben erleichtern sollen.

_________________
aloa Eisenherz