Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bildformat ermitteln (https://www.delphipraxis.net/147566-bildformat-ermitteln.html)

Moony 11. Feb 2010 14:25


Bildformat ermitteln
 
Hallo zusammen,

in meiner Software lade ich Bilder entweder von einer Datei oder aus Blobfeldern aus der Datenbank. Gibt es eine Möglichkeit nachdem ich das Blobfeld geladen habe heraus zu finden, welches Bildformat das ist?

Danke & Gruß, Moony

Bernhard Geyer 11. Feb 2010 14:26

Re: Bildformat ermitteln
 
Schau dir die ersten Bytes des Blobs an. Jedes Format hat hier einen Header definiert der eindeutig ist.

Moony 11. Feb 2010 14:34

Re: Bildformat ermitteln
 
Das mache ich. Ich prüfe zuerst den Bitmap header. Anschließend wenns nicht dieser ist prüfe ich obs ein JPG ist indem ich byteweise noch mal den buffer einlese und wenn ich FF D8 FF habe, dann erkenne ich es als jpg. aber das ist scheinbar auch in anderen formaten vorhanden.

Deshalb meine frage ob eine gute routine dafür gibt?

Gruß, Moony

Tyrael Y. 11. Feb 2010 14:48

Re: Bildformat ermitteln
 
Die Bytefolge FF D8 FF ist bestimmt in vielen verschiedenen Formaten irgendwo vorhanden,
aber in keinem mir bekannten Bildformat, ausser jpg, sind die ersten beiden Bytes FF D8.

Moony 11. Feb 2010 14:50

Re: Bildformat ermitteln
 
Und was ist mit anderen Bildformaten? Gibt es da eine Übersicht bei welchen Formaten man auf welche Bytes achten muss?

Tyrael Y. 11. Feb 2010 14:56

Re: Bildformat ermitteln
 
Guck einfach mal bei wikipedia, dort ist meist der Header mit angegeben, sogar mit Erläuterung.

P.S.:
Bei jpg könnte man die ersten vier Bytes nehmen, die müssten FF D8 FF E0 sein, danach kann es anders werden.

Bernhard Geyer 11. Feb 2010 14:57

Re: Bildformat ermitteln
 
Zitat:

Zitat von Moony
Und was ist mit anderen Bildformaten? Gibt es da eine Übersicht bei welchen Formaten man auf welche Bytes achten muss?

Grafikformate und entsprechend die Links weiterverfolgen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 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