bonjour, voilà j'ai un problème. Je dois récupérer pour chaque pixel d'une image son code HSB. Bon tout va bien au début puisqu'en fait je dois d'abord récupérer pour chaque pixel son code RGB puis on me demande, pour chaque pixel, de récupérer sa couleur ( via un pixelgrabber), et la convertir en HSB. (via RGBtoHSB)

Et là, je dois dire que je perds un peu dans tous les paramètres présents bref je m'en sors pas. Voilà je vous poste mon code, je ne m'attends pas à ce que vous me donniez le code résultat mais plutôt si vous pouviez, m'expliquer la démarche à suivre pour que je m'en sorte

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
34
35
36
37
38
39
40
 
public class LectureImage 
{
 
	protected URL url;
	public LectureImage(URL url)
	{
		this.url=url;
	}
 
	public Image Connection()
	{
		try
		{
			URLConnection urlC= url.openConnection();
			System.out.println(url);
			//Accès au toolkit
			java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
			//lecture de l'image
			Image image = toolkit.getImage(url);
			//On s'assure que l'image est complètement chargée
			image = new ImageIcon(image).getImage();
			BufferedImage bufferedImage = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB );
			//Lecture de tous les pixels
			int w = bufferedImage.getWidth();
			int h = bufferedImage.getHeight();
			int[] rgbs = new int[w*h];
			//On crée l'espace neccessaire
			bufferedImage.getRGB(0,0,w,h,rgbs,0,w);
 
			//c'est ici où en fait je ne sais pas quoi faire avec le pixelGrabber et surtout le problème de typage car RGBtoHSB souhaite un tableau de float alors que je travaille que sur des int pour le RGB
			return image;
		}
		catch (IOException e)
		{
			e.printStackTrace();
			return null;
		}
	}
}

Voilà j'espère que vous aurez quelques instants à me consacrer. merci à tous et bonnes fêtes au passage