VB.Net Dessiner des lignes dans un picturebox

Signaler
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Messages postés
17
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
16 août 2014
-
Salut...

Je fais dessiner des croix dans un picturebox. Je veux dessiner quelques lignes qui utilise les coordonnées des croix.

J'ai fini par réussir à faire dessiner une ligne

Je réussi à faire dessiner une ligne dans un picturebox en faisait redessiner les éléments que j'avais auparavant. Donc je refais dessiner l'ensemble des croix pour ensuite dessiner une ligne.

Problème #1.
Comment est-il possible de faire dessiner plus d'une ligne sans que les ligne que j'ai dessiner auparavant s'effacent ???

Problème #2
Comment est-il possibl;e de faire dessiner une ligne sans être obliger de faire un .Clear du picturebox et de refaire dessiner l'ensemble des crois pour ensuite dessiner une ligne.

For

i = 0
To UBound(Tableau)
LigneSplit = Tableau(i).Split(Separateur)

If LigneSplit(0) = txtPoint1Tracer.Text
Then
CoordY1 = Y_initial - (Convert.ToDouble(LigneSplit(1)) - ValMinY) * (205 / (ValMaxY - ValMinY))
CoordX1 = (Convert.ToDouble(LigneSplit(2)) - ValMinX) * (205 / (ValMaxX - ValMinX))

End
If
If LigneSplit(0) = txtPoint2Tracer.Text
Then
CoordY2 = Y_initial - (Convert.ToDouble(LigneSplit(1)) - ValMinY) * (205 / (ValMaxY - ValMinY))
CoordX2 = (Convert.ToDouble(LigneSplit(2)) - ValMinX) * (205 / (ValMaxX - ValMinX))

End
If
Next i

Dim objBitMap
As
New Bitmap(X_initial, Y_initial)

objGraphics = Graphics.FromImage(objBitMap)
objGraphics.Clear(Color.White)

For i = 0
To UBound(Tableau)
LigneSplit = Tableau(i).Split(Separateur)
CoordXPicturebox = (Convert.ToDouble(LigneSplit(2)) - ValMinX) * (205 / (ValMaxX - ValMinX))
CoordYPicturebox = Y_initial - (Convert.ToDouble(LigneSplit(1)) - ValMinY) * (205 / (ValMaxY - ValMinY))
objGraphics.DrawLine(MyPen, CoordXPicturebox, CoordYPicturebox - 2, CoordXPicturebox, CoordYPicturebox + 2)
objGraphics.DrawLine(MyPen, CoordXPicturebox - 2, CoordYPicturebox, CoordXPicturebox + 2, CoordYPicturebox)

Next iobjGraphics.DrawLine(MyPen, CoordX1, CoordY1, CoordX2, CoordY2)

Me.PictureBox1.Image = objBitMap
objGraphics.Dispose()
objGraphics =
Nothing

2 réponses

Messages postés
630
Date d'inscription
samedi 15 février 2003
Statut
Modérateur
Dernière intervention
9 octobre 2011
1
Tu enlêves ça : objGraphics.Clear(Color.White)





Le savoir ne sert que si il est partagé par tous
Messages postés
17
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
16 août 2014

Salut
J'ai le même problème, 100 thread qui dessine dans un pictureBox.
Je peux pas croire qu'on est obliger de tous redessiné à chaque fois...
Y doit surement exister quelque chose...