Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Unbekannter Graphic-BLOB in Paradox (https://www.delphipraxis.net/12809-unbekannter-graphic-blob-paradox.html)

Henni 4. Dez 2003 14:53


Unbekannter Graphic-BLOB in Paradox
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute !

Ich hab ein Programm geschrieben, welches auf einer fremden Datenbank operiert. Alles bis jetzt ganz gut gelaufen, aber jetzt habe ein BLOB dessen Daten ich nicht interpretieren kann. Offensichtlich ist es eine Grafik und speziell wohl ein GIF.
Um herauszubekommen um welche Daten es sich handelt habe ich den Stream eines jeden BLOB erstmal in eine Datei geschrieben. Im Header findet man den String "TGIFImageGIF87ax".
Vielleicht kennt jemand von Euch diese Komponente, welche eben genau diesen GIF-Stream schreibt/liest.

Anbei sende ich mal ein solches BLOB-GIF.

Wäre nett, wenn sich jemand meiner annehmen könnte.

schönen Dank sagt schon mal
Henni

sakura 4. Dez 2003 14:58

Re: Unbekannter Graphic-BLOB in Paradox
 
Das dürfte eine der Gif-Komponenten hinter folgendem Link sein. Wahrscheinlich: TGIFImage v.2.2 (966 KB)

...:cat:...

Henni 4. Dez 2003 16:08

Re: Unbekannter Graphic-BLOB in Paradox
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dank für die schnelle Antwort !

Leider habe ich damit noch keinen Erfolg gehabt. Der Compiler bringt mir eine "GIFException - invalid GIF signature"
http://www.delphipraxis.net/attached...fexception.jpg

Ich habe schon bemerkt, dass der Stream ein führendes Byte (09h) hat, was nicht ins Konzept passt. Kann es was damit zu tun haben ?
Ich vermute mal, dass es sich dabei um ein Select-Byte handelt. Das Programm welches sonst mit der Datenbank arbeitet ist in der Lage mehrere Grafik-Formate zu lesen/schreiben. Unter anderem JPEG, GIF, BMP - mehr sieht man leider nicht.

Kann das jemand bestätigen ?

Übrigens: GIF.LoadfromFile funktioniert hervorragend. TImage wird problemlos angezeigt.



In der Hoffnung auf Hilfe....

Henni 4. Dez 2003 17:30

Re: Unbekannter Graphic-BLOB in Paradox
 
Liste der Anhänge anzeigen (Anzahl: 2)
Also ich hab jetzt mal nen Blackbox-Test gemacht. Also im eigentlichen Proggi ein gif (Input.gif) geladen und es aus dem BLOB-Stream (OutputStream.gif) gespeichet. Folgende Unterschiede:

1. die Stream-Datei ist genau doppelt so groß wie das Original-GIF (10.880 statt 5.440 Bytes)
2. Header stimmen nicht überein (Stream enthält als führendes Byte 09h und den String "TGIFImage"
3. die ersten 5.440 Byte der Datei-Bodies stimmen nicht überein
4. es treten alle 256 Byte Unterschiede auf
5. die Unterschiede wachsen, nach 256 Byte 1, nach 512 Byte 3, am Ende sind es 19 Unterschiede

ANBEI DIE DATEIEN (Output mit korriegiertem Header)

Könnte dies die Farbpalette sein ?!?!?! Hat jemand eine Erklärung für dieses Phänomen ???

Warum ist der Stream doppelt so groß ?

Könnte es an einer fehlerhaften Handhabung des TBlobStream liegen ?

Wenn ich den Header korrigiere und den Stream auf die richtige Größe kürze kommt ein GIF heraus, welches scheinbar einwandfrei lesbar ist. Habe versch. Programme getestet - keines hatte was zu bemängeln.
Wenn ich diese Erkenntnisse auf ein bereits in der Datenbank befindliches GIF anwende, also den Header korrigiere, dann bekomme ich ein 1A GIF !

Ich werde also so fortfahren, nur erstmal den Header zu Ergänzen bzw. zu Beschneiden. Vielleicht hab ich Glück und es ist des Rätsels Lösung !

Ich bin für jede Art Anregung dankbar. Sollte es mir nicht möglich sein die BLOBs zu Lesen/Schreiben, dann wäre mein Projekt leider gescheidert !

Also vielen Dank an die Tüftler un Bastler, die ihr Euch jetzt gefordert seht !


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 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-2025 by Thomas Breitkreuz