![]() |
AW: Bild aus Datenbank in TImage Komponente
Das hatten wir doch schon. Dann erstelle halt eine Grafik im passenden Format (TBitmap, TJPEGImage or whatever), lade dort über den Stream den BLOB-Inhalt rein und weise sie dann dem Image zu.
[edit] Angenommen, in den BLOBs stehen Bitmaps:
Delphi-Quellcode:
Ungetestet, deshalb ohne Gewähr. [/edit]
if qryGetDAtaBild.BlobSize > 0 then
begin stBild := TMemoryStream.Create; try qryGetDAtaBild.SaveToStream(stBild); bmp := TBitmap.Create; try bmp.LoadFromStream(stBild); Frames.Image1.Picture.Assign(bmp); finally bmp.Free; end; finally stBild.Free; end; end; |
AW: Bild aus Datenbank in TImage Komponente
*bin zu doof* :*(
Delphi-Quellcode:
stBild: TStream;
jpgBild: TJPEGImage;
Delphi-Quellcode:
Inkompatible Typen Picture und JPEGImage
if qryGetDAtaBild.BlobSize > 0 then
begin stBild := TMemoryStream.Create; jpgBild := TJPEGImage.Create; // Grafik im JPEG Format erstellen try qryGetDAtaBild.SaveToStream(stBild); pngBild.SaveToStream(stBild); // BLOB Inhalt reinladen Frames.Image1.Picture := jpgBild; // Image zuweisen finally stBild.Free; end; end; |
AW: Bild aus Datenbank in TImage Komponente
Siehe mein Edit (hat sich wohl mit Deinem Post überschnitten).
|
AW: Bild aus Datenbank in TImage Komponente
also Programm läuft, nur werden keine Bilder angezeigt..
wenn ich anstatt TBitmap TJPEG nehm, meckert er mir wieder rum ... JPEG Fehler #42..... mhhm.... |
AW: Bild aus Datenbank in TImage Komponente
Sind es denn auch JPEGs in der Datenbank?
[edit] Müssen es wohl, sonst würde der Umweg über die Datei ja nicht funktionieren. Evtl. muss man vor dem LoadFromStream noch die Position setzen. Wie sieht es so aus?
Delphi-Quellcode:
[/edit]
if qryGetDAtaBild.BlobSize > 0 then
begin stBild := TMemoryStream.Create; try pngBild := TJPEGImage.Create; // Grafik im JPEG Format erstellen try qryGetDAtaBild.SaveToStream(stBild); stBild.Position := 0; pngBild.LoadFromStream(stBild); // BLOB Inhalt reinladen (SaveToStream in LoadFromStream geändert) Frames.Image1.Picture.Assign(pngBild); // Image zuweisen finally pngBild.Free; end; finally stBild.Free; end; end; |
AW: Bild aus Datenbank in TImage Komponente
ja sind auch JPEG in DB.
|
AW: Bild aus Datenbank in TImage Komponente
Klappt es denn mit dem Code aus meinem letzten Edit?
BTW: Wieso eigentlich pngBild, wenn es eine JPEG ist? Finde ich etwas verwirrend. |
AW: Bild aus Datenbank in TImage Komponente
aaaaaah, es funktioniert.
lag es jetzte an folgender Zeile? :
Delphi-Quellcode:
Kannst du mir bitte noch kurz sagen, was diese Zeile genau bewirkt?
stBild.Position := 0;
|
AW: Bild aus Datenbank in TImage Komponente
Ich denke, es lag vermutlich eher daran, dass Du statt LoadFromStream SaveToStream geschrieben hattest. Das Setzen der Position des Streams spult quasi an den Anfang zurück, ich bin nicht ganz sicher, ob das bei LoadFromStream automatisch gemacht wird. Eigentlich wäre das logisch, aber ich kann gerade nicht nachsehen. Im Zweifel einfach die Zeile auskommentieren und schauen, was passiert ;)
|
AW: Bild aus Datenbank in TImage Komponente
also die Zeile
Delphi-Quellcode:
wird benötigt, ansonsten gibts wieder den Fehler #42.
stBild.Position := 0;
Naja ok, das Problem wäre gelöst. Ich bedank mich für die Geduld und eure Hilfe :) mfg P.S. Jetzte hab ich nur noch das Problem mit dem "Formular zentriert ausdrucken" vor mir :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 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