Bonsoir,
je dessine sur un canvas plusieurs formes avec des couleurs différentes et j'aimerais récupérer la couleur d'une forme .Je sais que pour une image on utilise getRGB mais ici pour un objet canvas comment on peut faire??
merci
Bonsoir,
je dessine sur un canvas plusieurs formes avec des couleurs différentes et j'aimerais récupérer la couleur d'une forme .Je sais que pour une image on utilise getRGB mais ici pour un objet canvas comment on peut faire??
merci
Je ne vois que 4 solutions "faciles" :
- si c'est un rendu de type vectoriel, tout simplement garder une liste des formes et une map des couleurs pour chaque forme en memoire (note ca peut etre beaucoup moins aise si tes formes utilisent des Paint plus generiques comme des gradient ou des textures ou ont des Stroke -les contours- bien particuliers).
- dessiner dans le Canvas de maniere offscreen ; c'est a dire dessiner dans une image, elle-meme composee sur l'ecran. Dans ce cas, tu peux utiliser getRGB() sur l'image offscreen.
- faire la solution inverse. Au moment ou tu veux capturer la couleur, creer une BufferedImage puis rendre le Cavans dedans (appeler paint() avec le Graphics de l'image en parametre) puis utiliser getRGB().
- en esperant que ton Canvas est visible a l'ecran, utiliser un Robot pour prendre une capture de l'ecran, determiner le decallage des coordonnees pour trouver la position precise dans l'image et a nouveau utiliser getRGB().
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Partager