In den Header einer Bilddatei schauen. .Gif != Gif

FoolMoon

Erfahrenes Mitglied
Moin Moin

Viele Grafikprogramme können Bilddateien öffnen obwohl diese nicht die richtige Endung haben.

Ich kann ein Image erstellen und als gif, abspeichern. Die Endung benenne ich schließlich in jpg um und dennoch können mitlerweile fast alle Programme die Datei öffnen, weil sie immer in den Header eines Bildes schauen um welches Format es sich dabei handelt.

Ist es möglich dies im reinen Java ebenfalls zu bewerkstelligen?
 
Moin Moin

Viele Grafikprogramme können Bilddateien öffnen obwohl diese nicht die richtige Endung haben.

Ich kann ein Image erstellen und als gif, abspeichern. Die Endung benenne ich schließlich in jpg um und dennoch können mitlerweile fast alle Programme die Datei öffnen, weil sie immer in den Header eines Bildes schauen um welches Format es sich dabei handelt.

Ist es möglich dies im reinen Java ebenfalls zu bewerkstelligen?

Ja klar,..

Du kannst die Datei lesen und auswerten.
Nur musst du wissen wie z.B.: ein .gif header aufgebaut ist.

Kannst in den jeweiligen specifications nachlesen...

Soweit ich weiß, gibt die Java API doch genug her, was Bilder betrifft (Java Advanced Imaging API oder so). Kannst dir ja reinziehen...
Das normale Image IO zeug müsste doch automatisch die meisten Bildformate verarbeiten können. (jpg,png,tga,gif,...)
 
Zuletzt bearbeitet:
Mit ImageIO erhälst du direkt ein BufferedImage, welches du weiterverabreiten kannst, bzw. mit dem du weiter arbeiten kannst. Ist eine Datei (egal welche Dateiendung) kein Bild gibts eine Exception. Glaube ein InputStream als Rückgabewert ist auch möglich.
>API-Link<

BufferedImage img = ImageIO.read(new File("C:\BinIchEinBild.txt"));


Genaueres erfährst du über die API
 
Zurück