Détecter la couleur d'un point(X, Y) dans un panel

Foub12 Messages postés 44 Date d'inscription mardi 9 juillet 2002 Statut Membre Dernière intervention 1 avril 2007 - 2 juin 2005 à 18:11
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Derniè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 ?

Fabien

3 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
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) )

++

GodConan
0
Foub12 Messages postés 44 Date d'inscription mardi 9 juillet 2002 Statut Membre Derniè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...

Help me...
Fabien
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
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)

++

GodConan
0
Rejoignez-nous