Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBImage - Bitmap ist ungültig (https://www.delphipraxis.net/132989-dbimage-bitmap-ist-ungueltig.html)

uwe12 23. Apr 2009 11:23

Datenbank: Access Datenbank • Version: 2000 • Zugriff über: ADOTable

DBImage - Bitmap ist ungültig
 
Warum kommt immer der Fehler ,,Bitmap ist ungültig"?
Ich habe eine datenbank, wo bitmap dateien gespeichert sind. Auf die Datenbank greif ich über ein AdoTable zu. Nun möchte ich mit ein DBImage die Bitmap Datei aus der Datenbank anzeigen lassen. Aber es kommt immer die Fehlermeldung ,,Bitmap ist ungültig".

Bernhard Geyer 23. Apr 2009 11:35

Re: DBImage - Bitmap ist ungültig
 
Wie wurden die Bitmaps in der DB gespeichert? Mit Access-Mitteln?

uwe12 23. Apr 2009 12:28

Re: DBImage - Bitmap ist ungültig
 
ich habe eine spalte mit ole-object in access angelegt und lade das Bitmap über Access in die Datenbank

Bernhard Geyer 23. Apr 2009 13:19

Re: DBImage - Bitmap ist ungültig
 
Zitat:

Zitat von uwe12
ich habe eine spalte mit ole-object in access angelegt und lade das Bitmap über Access in die Datenbank

Und da ergänzt Access noch ein paar Bytes "OLE-Header" so das nur noch Access damit was anfangen kann.
Du mußt vor dem Anzeigen diese Bytes wegschneiden. Hier im Forum müssten auch schon fast fertige Lösungen vorhanden sein welche auf TImage statt TDBImage basieren.

uwe12 23. Apr 2009 13:29

Re: DBImage - Bitmap ist ungültig
 
also müsste ich statt eines DBImages ein Image nehmen?

Bernhard Geyer 23. Apr 2009 13:32

Re: DBImage - Bitmap ist ungültig
 
Zitat:

Zitat von uwe12
also müsste ich statt eines DBImages ein Image nehmen?

Ja. Und den Header selbst wegschneiden.

uwe12 23. Apr 2009 13:54

Re: DBImage - Bitmap ist ungültig
 
wie soll das funnktionieren mit dem abschneiden von dem header?

uwe12 23. Apr 2009 19:30

Re: DBImage - Bitmap ist ungültig
 
Ich komme einfach nicht weiter. Habe keine Ahnung wie das funktionieren soll.

uwe12 24. Apr 2009 08:32

Re: DBImage - Bitmap ist ungültig
 
Könntet ihr mir mal bitte weiterhelfen? Da ich absolut nicht weiterkomme mit dem Image.

Bernhard Geyer 24. Apr 2009 08:37

Re: DBImage - Bitmap ist ungültig
 
1, Lade das Image aus der DB in einen TMemory/TFileStream
2, Schreibe ab dem 79 Byte die Daten in einen weiteren Stream
Delphi-Quellcode:
OrgStream.Position := 78
OrgStream.SaveToStream(DestStream)
3, Speichere diesen 2ten Stream als Temporäre Datei
4, Lade diese temporäre Datei in einer TImage-Komponente
5, Lösche die temporäre Datei

Wenn du diesen Weg erstmal hast kannst du probieren diesen zu optimieren (Keine zwischenspeicherung auf Festplatte, ...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr.
Seite 1 von 4  1 23     Letzte »    

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