-
Détecter une image
Hello,
J'ai un programme JAVA qui reçoit toutes sorte de données et qui est chargé d'en détecter le type.
Certaines données sont représentées sous forme de byte[]. A partir d'une telle représentation, je souhaiterai pouvoir détecter si cette représentation binaire cache en fait une image.
Quelqu'un sait-il si il existe une manière standard de procéder ?
Perso, avec ImageIO je verrai bien une approche brutale qui testerai plusieurs types (jpeg, png) en récupérant les readers correspondants et en essayant de lire l'image, mais ça me semble peu élégant et surtout pas efficace du tout..
Toute suggestion sera bienvenue :)
-
La plupart des formats d'images commencent par une signature. C'est le cas pour bmp, gif, png, ... Il serait donc possible de lire les premiers octets et de comparer à une base. Mais pour cela, il faut s'assurer que c'est le cas pour tous les formats que tu veux pouvoir reconnaitre.
-
D'une manière générale t'a pas spécialement de moyen plus élégant.
Tous les types ne sont que des fichiers ayant des données formatés suivant leurs règles.