biboo_ \o/ | Bonjour à tous,
   pour faire bref, je dois récupérer la couleur de chaque pixel (représenté par un entier) et la placer dans un tableau, tout ceci depuis
 une image au format BMP. A noter que la valeur de chaque pixel doit se situer entre 0 et 255 (ou -127 et 128).
 Voici la méthode:
  
  Code :
 - public static int[] getPixelTable(String absolutePathFileName) {
 -     try {
 -     byte tabBmp[];
 -     int rgbs[] = null;
 -     // création d'un flux
 -     FileInputStream fin = new FileInputStream(absolutePathFileName);
 -     tabBmp = new byte[fin.available()];
 -     fin.read(tabBmp);
 -     if (tabBmp.length >0 ) {
 -     	// la fonction byteArrayToInt(int offset, int nbyte) récupère un entier "de offset à offset+nbyte"; elle marche parfaitement
 -     	int intLargeur = byteArrayToInt(tabBmp,18,4);
 -     	int intHauteur = byteArrayToInt(tabBmp,22,4);
 -     	int intOffsetPixel = byteArrayToInt(tabBmp,10,4);
 -     	ColorModel monoChromeModel = new IndexColorModel(1,2,
 -       	new byte[] {(byte)0, (byte)255},
 -       	new byte[] {(byte)0, (byte)255},
 -       	new byte[] {(byte)0, (byte)255});
 -     	ByteBuffer BufferTabPixel = ByteBuffer.allocate (tabBmp.length-intOffsetPixel);
 -     	byte[] tabPixel = BufferTabPixel.array();
 -     	DataBuffer db = new DataBufferByte(tabPixel,tabPixel.length);
 -     	WritableRaster wr = Raster.createPackedRaster(db,intLargeur,intHauteur,1,null);
 -     	//creation du BufferedImage
 -     	BufferedImage afpImage = new BufferedImage(monoChromeModel,wr,false,null);
 -     	int w = afpImage.getWidth();
 -     	int h = afpImage.getHeight();
 -     	rgbs = new int[w*h]; /** on crée l'espace nécessaire */
 -     	//copie de chaque piskel du bufferedImage (afpImage)  vers un tableau d'entiers (rgbs)
 -     	afpImage.getRGB(0,0,w,h,rgbs,0,w);
 -     }
 -     fin.close();
 -     return rgbs;
 -   	} catch(IOException ie) {
 -     System.out.println("Erreur: "+ie);
 -     return null;
 -   	}
 -   }
 
  |  
 
   Le problème, c'est que le tableau contient des valeurs trop grandes   :
  
  indice : 3597 main : -16777216
 indice : 3598 main : -16777216
 indice : 3599 main : -16777216  |  
 
   Quel est le problème, mais surtout quel y-a-t-il un autre moyen de récupérer toutes les valeurs d'une image BMP dans un tableau?
 Merci d'avance pour vos conseils/critiques/suggestions.        |