![]() |
Datenbank: ORACLE • Version: 10 • Zugriff über: BDE
Bild aus DB auslesen und in TImage anzeigen
Hallo zusammen,
so kann ich ja ein Bild auslesen und auf der Festplatte speichern:
Delphi-Quellcode:
Wie kann ich das Bild aus der DB direkt in einem TImage anzeigen ohne es vorher auf der Festplatte zu speichern ?
var blob:TStream;
begin //Datei auslesen blob:=mainform.IBtesttabelle.CreateBlobStream(IBtesttabelle.FieldByName('blobdata'),bmRead); try blob.Seek(0,soFromBeginning); with TFileStream.Create('C:\testdatei.jpg',fmCreate) do try CopyFrom(blob,blob.Size); finally Free; end; finally blob.Free; end; end; |
Re: Bild aus DB auslesen und in TImage anzeigen
Sollte gehen wenn du direkt mit .LoadFromStream() den Stream ins TImage lädst
|
Re: Bild aus DB auslesen und in TImage anzeigen
Danke schon mal, nur klappt es nicht ganz: Siehe hier:
Delphi-Quellcode:
MyPicture kennt kein "LoadFromStream"
MyPicture := TImage.Create();
blob:=mainform.IBtesttabelle.CreateBlobStream(IBtesttabelle.FieldByName('blobdata'),bmRead); blob.Seek(0,soFromBeginning); MyPicture.Picture.LoadFromStream(blob); |
Re: Bild aus DB auslesen und in TImage anzeigen
Nimm ein TJpegImage
|
Re: Bild aus DB auslesen und in TImage anzeigen
Das finde ich bei mir nicht. Ist das nicht Standard ?
|
Re: Bild aus DB auslesen und in TImage anzeigen
Kannst du von der Delphi CD nachinstallieren. Dann jpeg den uses hinzufügen
|
Re: Bild aus DB auslesen und in TImage anzeigen
Ich habe gerade festgestellt, das ich JPEG den uses hinzufügen kann.
Nur habe ich dieses JPEGImage nicht als Object um es auf die Form zu ziehen ? |
Re: Bild aus DB auslesen und in TImage anzeigen
Delphi-Quellcode:
MyPicture := TJPegImage.Create();
|
Re: Bild aus DB auslesen und in TImage anzeigen
Hi.
Gibt es denn dieses TJPEGImage nicht um es direkt auf eine Form zu ziehen ? Oder wie könnte ich dieses Objekt auf einer bestehenden Form Implementieren. Ziel ist es dieses Bild auf der Form anzuzeigen. |
Re: Bild aus DB auslesen und in TImage anzeigen
Hallo Holger,
ich hatte kürzlich ein ähnliches Problem. Folgendermaßen wurde mir geholfen: ![]() Vielleicht nützt es Dir. Gruß, Thimo |
Re: Bild aus DB auslesen und in TImage anzeigen
Ist ein TImage-Abkomme
|
Re: Bild aus DB auslesen und in TImage anzeigen
Letzte Frage:
Wie kann ich nun das var bmp: TBitmap; einem TImage zuweisen ? So geht es nciht:
Delphi-Quellcode:
IM_Test.Picture.Bitmap := bmp;
|
Re: Bild aus DB auslesen und in TImage anzeigen
Delphi-Quellcode:
IM_Test.Picture.Bitmap.Assign(bmp);
|
Re: Bild aus DB auslesen und in TImage anzeigen
Mein Weg:
Einfügen in die DB:
Delphi-Quellcode:
Auslesen:
var MemoryStream: TMemoryStream;
with Dataset1 do begin Open; Insert; MemoryStream := TMemoryStream.Create; // Bitmap ist vom Typ TBitmap Bitmap.SaveToStream(MemoryStream); // bild ist eine Spalte in der DB vom Typ image (SQL-Server 2005) (FieldByName('bild') as TBlobField).LoadFromStream(MemoryStream); Post; end;
Delphi-Quellcode:
Einem TImage zuweisen:
var Bitmap: TBitmap;
with Dataset1 do begin Bitmap:= TBitmap.Create; try Bitmap.LoadFromStream(CreateBlobStream(FieldByName('bild'),bmRead)); except // Fehlerbearbeitung end; end;
Delphi-Quellcode:
Image1.Picture.Bitmap := Bitmap;
|
Re: Bild aus DB auslesen und in TImage anzeigen
Vielen dank für die Hilfen. Jetzt klappt es so wie ich es will.
Mit welchem Befehl entfernt Ihr am besten ein Bitmap aus einem TImage ? |
Re: Bild aus DB auslesen und in TImage anzeigen
Was meinst du mit entfernen?
|
Re: Bild aus DB auslesen und in TImage anzeigen
Das in dem TImage nichts mehr angezeigt wird. Soll heissen -> Wie kann ich nach Zuweisung eines BMP, dieses wieder rückgängig machen ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 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