Détecter la couleur d'un point(X, Y) dans un panel
Foub12
Messages postés44Date d'inscriptionmardi 9 juillet 2002StatutMembreDernière intervention 1 avril 2007
-
2 juin 2005 à 18:11
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 2012
-
3 juin 2005 à 00:14
Bonjour,
j'aurai besoin de récupérer la couleur d'un point (X, Y) de mon JPanel ?
J'ai lu sur un forume qu'on pouvait y arriver avec le code suivant :
«
BufferedImage img = new BufferedImage(getWidth(),getHeight(), BufferedImage.TYPE_3BYTE_BGR);
int i = img.getRGB(x,y);
»
Y-Aurait-il pas un autre moyen plus simple de procéder que de stocker N centaines de points ?
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201211 2 juin 2005 à 21:20
ben y a pas plus simple en fait .. ; o)
cela prend juste un peu de place memoire.... ;o)
tu peu aussi savoir la couleur qu il y a dessous en controlant les component qui ce trouve en x,y
et en en obtenant la couleur... ( pas tres adapter pour un paint rapide ou un jeu.. ;o) )
Foub12
Messages postés44Date d'inscriptionmardi 9 juillet 2002StatutMembreDernière intervention 1 avril 2007 2 juin 2005 à 21:38
Re,
de toute façon, même avec ce code, je n'y arrive pas...
Cela ne marche pas et je vous avouerai que j'ai du mal à comprendre comment l'instruction suivante peut construire une image avec les données de mon Panel...
BufferedImage img = new BufferedImage(getWidth(),getHeight(), BufferedImage.TYPE_3BYTE_BGR);
Ok, je réserve bien la taille de l'image mais comment j'indique à mon img qu'il doit aller recueillir les infos de mon JPanel ?
Ensuite, je fais :
int i = img.getRGB(x,y);
Point temp = new Point(i);
mais il me détecte toujours une couleur noire (0, 0, 0) alors que mon JPanel n'est pas noir...
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201211 3 juin 2005 à 00:14
explique plutot ce que tu veux obtenir ;o) et verai si tu peux t en passer
autrement pour remplir ton image il te suffi d appeler la methode paint( G ) de ton panel avec un context sur ton image en argument; enfin c est deja une soluce.. ;o)