Es kommt wirklich drauf an, wie das Bild in die DB gekommen ist.
TDBImage trägt auch noch zur Verwirrung bei, da es offenbar den Dateityp vor den Daten mitspeichert: https://wiki.freepascal.org/TDBImage
Datenbank Blob to TImage
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Datenbank Blob to TImage
Ich finde, das Handling allgemein, ist deutlich einfacher wenn man in der DB die komplette Daten des Bildes speichert, also incl. Header.
Damit kann die Grafik Komponente automatisch zwischen den einzelnen Formaten PNG/JPG/GIF/TIFF/BMP... umschaten und zum anderen kann man diesen Stream direkt wieder als Datei speichern ohne Wandlungen.
Umgekehrt kann man z.B. große Bilder auf der Fesplatte belassen und nur die Miniaturansicht in der DB speichern. Es ist somit am einfachsten man lädt das Bild in einen Stream, woher die Daten dann kommen ist egal und die Grafik Darstellung verwendet nur das Stream, damit hat man eine simple einfache Schnittstelle, wenn man mal was umbauen möchte.
TGraphicField sollte man daher nicht verwenden, das ist ohnehin ziemlich speziell und Datenbank spezifisch.
Damit kann die Grafik Komponente automatisch zwischen den einzelnen Formaten PNG/JPG/GIF/TIFF/BMP... umschaten und zum anderen kann man diesen Stream direkt wieder als Datei speichern ohne Wandlungen.
Umgekehrt kann man z.B. große Bilder auf der Fesplatte belassen und nur die Miniaturansicht in der DB speichern. Es ist somit am einfachsten man lädt das Bild in einen Stream, woher die Daten dann kommen ist egal und die Grafik Darstellung verwendet nur das Stream, damit hat man eine simple einfache Schnittstelle, wenn man mal was umbauen möchte.
TGraphicField sollte man daher nicht verwenden, das ist ohnehin ziemlich speziell und Datenbank spezifisch.
EleLa - Elektronik Lagerverwaltung - www.elela.de