bonjour !

je cherche a reconstituer une image a partir d'un tableau de bytes (comme le titre l'indique)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 final ZipInputStream zis = new ZipInputStream(new FileInputStream(file));
 
 
        	ZipEntry ze;
        	byte buf[];
	        // Parcourt tous les fichiers
	        while (null != (ze = zis.getNextEntry())) {
 
	        	buf = new byte[(int)ze.getSize()];
 
	    		int off = 0;			// Début de l'écriture
	    		int len = buf.length;	// Nombre d'élément à écrire
	    		int read = 0;			// Nombre d'élément lu
 
	    		while ( (len>0) && (read = zis.read(buf, off, len))>0 ) {
	    			off += read;
	    			len -= read;
	    		}
 
        }
ce code me permet de stocké mon image (contenue dans un .zip appelé "file") dans un tableau de bytes. Ce code fonctionne trés bien pour un fichier texte que j'arrive à lire et à afficher pafaitement ensuite.


je récupere mon image a partir du byte[], comme celà :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
//methode utilisant les librairie Android  
(android.graphics.Bitmap & android.graphics.BitmapFactory)
 
        Bitmap bitmap = BitmapFactory.decodeByteArray(buf,0,buf.length);
ou bien comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
        InputStream is = new ByteArrayInputStream(buf);
mai pour les deux methode j'ai le meme resultat, mon image (que jaffiche, c'est plus pratique) est penchée vers la droite d'environ 50°... (les pixel qui manquent sont alor répétés de l'autre coté horizontalement (je m'explique bien?))

je pense que ceci est due a la decompression et a l'écriture(ou la lecture) du byte[] qui est mal faite car une image ouverte directement d'un fichier s'affiche normalement...

pouvez vous m'aider?
je vou remerci d'avance pour toute aide que vous pourrez m'apporter.