AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Bild aus Datenbank in TImage Komponente
Thema durchsuchen
Ansicht
Themen-Optionen

Bild aus Datenbank in TImage Komponente

Ein Thema von Metallicwar · begonnen am 9. Sep 2010 · letzter Beitrag vom 13. Sep 2010
Antwort Antwort
Seite 5 von 6   « Erste     345 6      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#41

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 10:27
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:
        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;
Ungetestet, deshalb ohne Gewähr. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (13. Sep 2010 um 10:49 Uhr)
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#42

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 10:50
*bin zu doof* :*(

Delphi-Quellcode:
stBild: TStream;
jpgBild: TJPEGImage;
Delphi-Quellcode:
 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;
Inkompatible Typen Picture und JPEGImage

Geändert von Metallicwar (13. Sep 2010 um 11:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#43

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 10:52
Siehe mein Edit (hat sich wohl mit Deinem Post überschnitten).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#44

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 11:06
also Programm läuft, nur werden keine Bilder angezeigt..
wenn ich anstatt TBitmap TJPEG nehm, meckert er mir wieder rum ... JPEG Fehler #42.....

mhhm....
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#45

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 11:07
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:
 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;
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (13. Sep 2010 um 11:11 Uhr)
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#46

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 11:12
ja sind auch JPEG in DB.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#47

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 11:14
Klappt es denn mit dem Code aus meinem letzten Edit?
BTW: Wieso eigentlich pngBild, wenn es eine JPEG ist? Finde ich etwas verwirrend.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#48

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 11:18
aaaaaah, es funktioniert.

lag es jetzte an folgender Zeile? :stBild.Position := 0; Kannst du mir bitte noch kurz sagen, was diese Zeile genau bewirkt?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#49

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 11:21
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
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#50

AW: Bild aus Datenbank in TImage Komponente

  Alt 13. Sep 2010, 11:26
also die Zeile stBild.Position := 0; wird benötigt, ansonsten gibts wieder den Fehler #42.

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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 6   « Erste     345 6      


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 10:15 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