lire et écrire une image dont le type est inconnu

lire et écrire une image dont le type est inconnu - Java - Programmation

Marsh Posté le 15-07-2002 à 14:34:05    

Mon appli doit :
 - lire un fichier ".tmp" qui est en fait une image.
 - reconaitre le type de l'image (tif, jpg, png, ...)
 - copier ce fichier avec la bonne extention.
Mon problème c'est : comment par Java, reconnaitre le type de cette image.
Je pose cette question, et je retourne chercher du coté de ImageIO...

Reply

Marsh Posté le 15-07-2002 à 14:34:05   

Reply

Marsh Posté le 15-07-2002 à 15:01:42    

fo voir les specs des formats ... souvent les 1ers octets du fichiers pourront t'aider il me semble, mais c surement pas une constante...
(les GIF par exemple commencent tjs pas GIFqqch je crois...)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-07-2002 à 15:25:27    

--greg-- a écrit a écrit :

fo voir les specs des formats ... souvent les 1ers octets du fichiers pourront t'aider il me semble, mais c surement pas une constante...
(les GIF par exemple commencent tjs pas GIFqqch je crois...)




 
Ouais, mais, vu que la méthode ImageIO.read est capable de charger une image en mémoire, sans qu'on lui précise son type, c'est bien que le JDK1.4 possède les méthodes nécessaire à la reconnaissance du format d'une image, sans tenir compte de l'extention. Donc logiquement, y doit y avoir un moyen d'utiliser l'API Java pour connaitre le type d'une image qu'on a chargé en mémoire j'pense. Pas d'accord !?

Reply

Marsh Posté le 15-07-2002 à 15:47:38    

el_gringo a écrit a écrit :

 
 
Ouais, mais, vu que la méthode ImageIO.read est capable de charger une image en mémoire, sans qu'on lui précise son type, c'est bien que le JDK1.4 possède les méthodes nécessaire à la reconnaissance du format d'une image, sans tenir compte de l'extention. Donc logiquement, y doit y avoir un moyen d'utiliser l'API Java pour connaitre le type d'une image qu'on a chargé en mémoire j'pense. Pas d'accord !?



ha vivi ça se peut :) tjs en jdk1.3.1 moi :)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-07-2002 à 16:02:17    

tomiotomio a écrit a écrit :

 
t'essayes les differents formats un par un, en catchant les eventuelles exceptions a chaque fois




 
ouais, mais... j'essaye quoi !?
parce que, justement, dans la méthode d'ouverture d'une image, on précise pas le format, il se démerde tout seul.
Alors, j'essaye, ok, ms j'essaye quoi !?

Reply

Marsh Posté le 15-07-2002 à 16:03:44    

--greg-- a écrit a écrit :

ha vivi ça se peut :) tjs en jdk1.3.1 moi :)




 
ha, tu devrais passer au 1.4, y a qqs trucs sympa.
Que je connaisse, y a les images, justement, la classe ImageIO à l'air sympa.
Et puis la prise en compte d'expressions régulières, j'addore !

Reply

Marsh Posté le 15-07-2002 à 16:04:54    

el_gringo a écrit a écrit :

 
 
ha, tu devrais passer au 1.4, y a qqs trucs sympa.
Que je connaisse, y a les images, justement, la classe ImageIO à l'air sympa.
Et puis la prise en compte d'expressions régulières, j'addore !




vivi je sais mais bon...
tous les environnements sur lesquels mes "applis" (soyons modeste...) sont deployées sont en 1.3.1 ... (c-a-d au taf, et sur mon hosting...)
(pour les regex j'utilise la libraire jakarta/oro)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-07-2002 à 16:10:52    

--greg-- a écrit a écrit :

 
vivi je sais mais bon...
tous les environnements sur lesquels mes "applis" (soyons modeste...) sont deployées sont en 1.3.1 ... (c-a-d au taf, et sur mon hosting...)
(pour les regex j'utilise la libraire jakarta/oro)




 
"appli", modeste !? t'aurais dit quoi si t'étais pas modeste !?:D

Reply

Marsh Posté le 15-07-2002 à 16:12:22    

el_gringo a écrit a écrit :

 
 
"appli", modeste !? t'aurais dit quoi si t'étais pas modeste !?:D



:heink: c'était ironique ... ( :??: )


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-07-2002 à 16:14:02    

hé, bon, c pas tout, mais c moi même qui suis en train de faire partir mon topic complètement ailleurs.
Donc, au risque de me répèter :
Ma petite appli(:D) doit :  
- lire un fichier ".tmp" qui est en fait une image.  
- reconaitre le type de l'image (tif, jpg, png, ...)  
- copier ce fichier avec la bonne extention.  
Mon problème c'est : comment par Java, reconnaitre le type de cette image.  
Je pose cette question, et je retourne chercher du coté de ImageIO...

Reply

Marsh Posté le 15-07-2002 à 16:14:02   

Reply

Marsh Posté le 16-07-2002 à 08:55:29    

...toujours pas d'idées !?

Reply

Marsh Posté le 16-07-2002 à 12:34:25    

En lisant la javadoc, j'ai trouvé ça :
 
ImageIO.getImageReader(ImageWriter writer).getFormatName()

Reply

Marsh Posté le 16-07-2002 à 12:49:18    

sacré el_gringo .....

Reply

Marsh Posté le 17-07-2002 à 08:56:07    

iskream a écrit a écrit :

En lisant la javadoc, j'ai trouvé ça :
 
ImageIO.getImageReader(ImageWriter writer).getFormatName()




 
Bah oui...
et après !?
pour avoir un ImageWriter spécifique à une image, 'faut conaitre son format.
Sinon, on peut lire une image sans connaitre son type, par ImageIO.read, ms à ce moment là, on connait pas le ImageReader qui à été utilisé.
ça fait pas bien avancer ça...

Reply

Marsh Posté le 17-07-2002 à 08:56:37    

--greg-- a écrit a écrit :

sacré el_gringo .....




 
Tu m'emmerdes greg, tu m'emmerdes !
Regarde la doc, toi qui est malin !

Reply

Marsh Posté le 17-07-2002 à 11:27:08    

el_gringo a écrit a écrit :

 
 
Tu m'emmerdes greg, tu m'emmerdes !
Regarde la doc, toi qui est malin !



j'ai pas que ça à foutre :D

Reply

Marsh Posté le 17-07-2002 à 11:34:25    

--greg-- a écrit a écrit :

j'ai pas que ça à foutre :D




 
Tu parles...
T'as surtout de la gueule...
à la limite, si tu savais qqch sur ce que j'demande, et que ce que j'demande était une connerie, ok, j'tolèrerais que tu t'foute de ma gueule, mais là, excuses moi de te dire ça, ms tu t'comporte comme un (gros) con !
Tu connais rien de mon cas, tu regardes même pas ce qu'il en est, et tu t'permet de m'juger sur ce que j'demande !? non mais sérieux, 'faut arrêter là !

Reply

Marsh Posté le 17-07-2002 à 11:37:27    

el_gringo a écrit a écrit :

 
 
Tu parles...
T'as surtout de la gueule...
à la limite, si tu savais qqch sur ce que j'demande, et que ce que j'demande était une connerie, ok, j'tolèrerais que tu t'foute de ma gueule, mais là, excuses moi de te dire ça, ms tu t'comporte comme un (gros) con !
Tu connais rien de mon cas, tu regardes même pas ce qu'il en est, et tu t'permet de m'juger sur ce que j'demande !? non mais sérieux, 'faut arrêter là !



[:blandine]

Reply

Marsh Posté le 17-07-2002 à 11:47:40    

--greg-- a écrit a écrit :

 [:blandine]  




 
hé oui, je sais, y des (gros) cons sympathiques ! :fuck:

Reply

Marsh Posté le 17-07-2002 à 13:44:09    

Code :
  1. ImageInputStream iis = ImageIO.createImageInputStream(tonInputStream/tonFile);
  2. Iterator readers = ImageIO.getImageReaders(iis) ;
  3. ImageReader ir = (ImageReader) readers.next();
  4. ir.setInput(iis); // pê pas nécéssaire, à voir
  5. String format = ir.getFormatName();
  6. BufferedImage bimg = ir.read(0);


dis moi si ça marche.

Reply

Marsh Posté le 17-07-2002 à 14:15:47    

Pour l'instant, je peux pas essayer, parce que je me suis rendu compte que le JDK (dont cette classe ImageIO) ne peut pas lire les tiff (du coup j'utilise une autre technologie: JAI). Et, justement, dans mon truc, en l'état, je bosse qu'avec des tiff.
Slon moi, ça devrai marcher ton truc...
Il me manquait le createImageInputStream (j'avais pas calculé quoi !), merci...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed