AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Bild aus DB lesen und an TImage via Stream übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Bild aus DB lesen und an TImage via Stream übergeben

Ein Thema von Berserker · begonnen am 24. Mär 2005 · letzter Beitrag vom 13. Apr 2006
Antwort Antwort
Benutzerbild von Berserker
Berserker

Registriert seit: 15. Dez 2002
Ort: Chemnitz
164 Beiträge
 
Delphi 6 Professional
 
#1

Bild aus DB lesen und an TImage via Stream übergeben

  Alt 24. Mär 2005, 17:13
Datenbank: MySQL • Version: 4.1 • Zugriff über: Corelab MyDAC
Hallo Delphi-Gemeinde.

Ich versuch gerade aus einer Datenbank (MySQL) aus einem BlobFeld ein Bild zu lesen. Dies funktioniert wunderbar. Ich kann das Bild speichern und im TImage via LoadFromFile wieder laden.

Ich würde aber gerne das Bild in einen Stream speichern und dann im TImage mit LoadFromStream wieder laden.

Ich habe es schon mit Assign probiert. Dies funktioniert auch, jedoch will er kein JPEG, GIF etc laden. Es kommt immer die Fehlermeldung "Bitmap ungülitg"

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var blobBild: TBlobfield;
begin
 blobBild := MyTable1.FieldByName('dateiinhalt') As TBlobField;
 if(blobBild.BlobSize>0) then
  Image1.Picture.Assign( blobBild );
end;

Fall jemand Lösungsvorschläge hat, wäre ich sehr dankbar.

MfG, Ronny
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Bild aus DB lesen und an TImage via Stream übergeben

  Alt 24. Mär 2005, 22:23
Zitat von Berserker:
Ich würde aber gerne das Bild in einen Stream speichern und dann im TImage mit LoadFromStream wieder laden.

Ich habe es schon mit Assign probiert. Dies funktioniert auch, jedoch will er kein JPEG, GIF etc laden. Es kommt immer die Fehlermeldung "Bitmap ungülitg"
Du musst ein jpg erstellen und Deinen Stream dahinein laden.
Delphi-Quellcode:
var
 jpg:TJPEGImage;
 m:TMemoryStream;
begin
  jpg:=TJPEGImage.Create;
  m:=TMemoryStream.Create;
  try
    TBlobField(AdsTable1.FieldByName('BILD')).SaveToStream(m);
    m.Position:=0;
    jpg.LoadFromStream(m);
    Image1.Picture.Assign(jpg);
  finally
    FreeAndNil(m);
    FreeAndNil(jpg);
  end;
end;
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#3

Re: Bild aus DB lesen und an TImage via Stream übergeben

  Alt 13. Apr 2006, 11:59
Delphi-Quellcode:
// Speichern
               jpg:=TJPEGImage.Create;
                m:=TMemoryStream.Create;
                try
                jpg.Assign(img_main_logo.Picture.Graphic);

                jpg.SaveToStream(m);
                m.Position := 0;
                TBlobField(aqTmp.FieldByName('pfad')).LoadFromStream(m);
                finally
                    FreeAndNil(m);
                    FreeAndNil(jpg);
                end;

// Laden
                jpg:=TJPEGImage.Create;
                m:=TMemoryStream.Create;
                try
                    TBlobField(aqTmp.FieldByName('pfad')).SaveToStream(m);
                    m.Position:=0;
                    jpg.LoadFromStream(m);
                    img_main_logo.Picture.Assign(jpg);
                finally
                    FreeAndNil(m);
                    FreeAndNil(jpg);
                end;
Da kommt aber immer der JPeg fehler
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Bild aus DB lesen und an TImage via Stream übergeben

  Alt 13. Apr 2006, 12:02
Zitat von Schodn:
Da kommt aber immer der JPeg fehler
Wo?
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#5

Re: Bild aus DB lesen und an TImage via Stream übergeben

  Alt 13. Apr 2006, 12:03
nach dem Laden

bei Application.run
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Bild aus DB lesen und an TImage via Stream übergeben

  Alt 13. Apr 2006, 12:08
Zitat von Schodn:
nach dem Laden
bei Application.run
?? Wenn Du den Fehler in o.a. Code vermutest, setze dort Haltepunkte und debugge richtig.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#7

Re: Bild aus DB lesen und an TImage via Stream übergeben

  Alt 13. Apr 2006, 12:15
das debuggen hilft mir auch nicht weiter

das muss irgendwie damit zusammenhängen, wie ich das Jpeg reinlade oder speichere
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz