Dessin de ligne

chewbaka62 Messages postés 67 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 30 juillet 2006 - 26 mai 2006 à 21:56
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 - 11 avril 2007 à 20:32
Bonsoir,

Pratiquement, je sais comment utiliser la classe Graphics pour dessiner une ligne. Par contre, ce que je n'arrive pas à faire c'est faire qu'une ligne se déplace sur différentes coordonnées et faire en sorte que la précédente s'efface. Ex: une ligne qui simule une aiguille d'horloge. J'arrive à déplacer cette ligne mais elle se redessine à chaque fois. Et quand je veux utiliser la méthode clear, plus rien ne se passe. J'avoue que je patauge sérieusement. Alors, si vous pouviez m'aider, je vous en remercierai vivement...

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
27 mai 2006 à 00:00
Salut,

Pour ce cas, je pense qu'il faut que tu crees a chaque fois une nouvelle image.
et que tu remplaces par nouvelle.
Ce qui peut faire effet de sintillement.
Un moyen de contrer l'effet de sintillement est de travailler avec le double buffer.
Pendant qu'une image est a l'ecran, l'autre est construit en memoire et non a l'ecran puis envoyer d'un bloc.

Voila pour le principe.
Pour un exemple,
http://www.dotnet-tech.com/tutoriels/double_buffering/

Bon dessin ;-)
0
JB76000 Messages postés 135 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 14 février 2013
27 mai 2006 à 09:25
Juste une idée comme ça, peut-être aussi en travaillant avec 2 images superposées et basculer de l'une à l'autre avec la methode visible, sachant qu tu n'affecteras que celle qui est au premier plan.
Avec P1 au 1er plan et P2 au deuxième,
   P1.visible = false      ---> Disparition de P1 laissant apparaître P2
   P1.visible = true       ---> Apparition de P1 par dessus P2

Par contre, ça risque d'être beaucoup plus technique à gérer que la solution de nh

Jer
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
4 juil. 2006 à 20:07
J'ai essayé le double buffering comme il indiquait pour VB.Net mais ca ne marche pas !

Redman
0
frederios Messages postés 125 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 9 décembre 2006
29 oct. 2006 à 07:00
bienn non faut just faire comme dans le bon vieux vbdos

tu redessine une ligne avec les coordoners  de la ligne que tu veux effacer mais tu la fais dessiner avec la couleur du fond de l'ecrant

ex

line(x1,y1,x2,y2,form1.backcolor)

cest tout, la vielle ligne vas "disparaitre"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
11 avril 2007 à 20:31
Oui mais c'est pas la méthode que l'on cherche.

Redman
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
11 avril 2007 à 20:32
Oui mais c'est pas la méthode que l'on cherche.

Redman
0
Rejoignez-nous