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![]()
Partager