Sujet: Re: gif anime et chargement ?
De: frederic.lachasse (l' arobase) verizon.net (Frederic Lachasse)
Groupes: fr.comp.lang.java
Organisation: http://groups.google.com
Date: 24. Aug 2008, 02:14:59
On Aug 22, 8:45 am, phil89 <pco...@infodev.fr> wrote:
Bonjour
Est il possible en faisant une seule connection au serveur de charger
une Image et de savoir si c'est un GIF ANIME ?
Actuellment je suis obligé de faire 2 requetes au serveur
Pour le gif anime
ImageInputStream stream > ImageIO.createImageInputStream(tap.openStream());
Iterator readers = ImageIO.getImageReaders(stream);
if (!readers.hasNext())
throw new RuntimeException("no image reader found");
ImageReader reader = (ImageReader) readers.next();
reader.setInput(stream); // don't omit this line!
nimg = reader.getNumImages(true); // don't use false!
stream.close();
stream=null;
Et ensuite pour charger l'image
ImageIO.read(tap)
Cela peut il etre fait avec une seule requete au serveur ?
Oui, bien sûr. Au moins 2 solutions possibles:
1) Faire comme suggérer dans la JavaDoc de getNumImages(): ne pas
appeler getNumImages(). A la place, appeler read() jusqu'à ce que la
méthode lève l'exception IndexOutOfBoundsException
2) Lire le GIF dans un tableau de bytes, puis utiliser un
ByteArrayInputStream pour lire et relire les mêmes données depuis la
mémoire.