Bonjour amis du forum

Je voudrais utiliser la fonction colorToHSV pour convertir une image rgb en hsv pour ensuite ne sélectionner qu'une seule couleur.
Cependant j'ai un petit problème au niveau des arguments d'entrée lors de la déclaration des variables notamment.
bitmap est une image rgb chargée avant.
Mon code actuel est:
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
22
23
24
25
26
27
28
29
30
31
32
33
                 int x=bitmap.getWidth();
                 int y=bitmap.getHeight();
 
		     	               //numeriser.setText(String.valueOf(bitmap.isMutable()));
		     	           j=1;
		     	           t=1;
		     	          int[] mapSrcColor = new int[x * y];
		     	          float[] pixelHSV = new float[3];
 
		     	         bitmap.getPixels(mapSrcColor, 0, x, 0, 0, x, y);
 
		     	           int index=0;
		     	           while (t<=x-1)
		     	           {
		     	        	   while (j<=y-1)
		     	        	   {
		     	        		  Color.colorToHSV(mapSrcColor[index], pixelHSV);
		     	        		  index++;
 
		     	        		  if (pixelHSV[0]>= 220   && pixelHSV[0]<=260)	//couleur du bleu
		     	        	          {
		     	        	          	    bitmap.setPixel(t, j, Color.WHITE);
		     	        	            }
		     	        	          else
		     	        	          {
		     	        	        	  bitmap.setPixel(t, j, Color.BLACK); 
		     	        	          }
		     	        		  j=j+1;
		     	               }
		     	               j=1;
		     	               t=t+1;
		     	           }
		    	  }
Cependant le programme plante avec la ligne de commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
int[] mapSrcColor = new int[x * y];
Et je ne comprend pas pourquoi puisque x et y existent et que ça fonctionne pour le int qui suit!?!

Quelqu'un a t il une idée du pourquoi de cette erreur? ou une autre idée pour contourner cette ligne de code?

Je suis dispo pour toutes précisions.