salut.
j'ai un dessin dans un JPanel(disons un rectangle ),et j'essaye de tracer un ligne dans ce Jpanel et je veux eviter de coupper le rectangle.
alors comment je peut detecter si un pixel est deja occuper par un autre dessin.merci d'avance.
salut.
j'ai un dessin dans un JPanel(disons un rectangle ),et j'essaye de tracer un ligne dans ce Jpanel et je veux eviter de coupper le rectangle.
alors comment je peut detecter si un pixel est deja occuper par un autre dessin.merci d'avance.
Il faut que tu conserves la position de ce rectangle, par exemple dans un objet de classe java.awt.Rectangle.
De cette façon, en traçant ta ligne, tu pourras faire tous les traitement nécessaires pour vérifier que tu ne coupe pas ton rectangle.
Sinon, un moyen assez simple est de dessiner le composant après la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void paintComponent(Graphics g) { g.drawLine(...); // dessine en-dessous du reste super.paintComponent(g); // dessine des trucs g.drawLine(...); // dessine au-dessus du reste }
Il n'a a donc aucun moyen de savoir si un pixel est allumé ou eteint à l'écran ?
Salut,
Je trouve la technique de xavlours un peu "sale" (désolé) Parce qu'en fait, tu masques le fait que la ligne passe par le rectangle... Mais bon, ce n'est qu'un avis personnel et peut-être me trouveras-tu un peu présomptueux
![]()
Cela dis, c'est une idée, même si je préfères celle de gifffftane qui consiste ç garder la figure dessiné dans un Objet.
Pas que je sache à part faire une capture d'écran avec Robot et analyser l'image retournée.Envoyé par SheikYerbouti
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