VB.Net Dessiner des lignes dans un picturebox

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 27 sept. 2007 à 20:39
jaknight007 Messages postés 17 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 16 août 2014 - 15 janv. 2010 à 20:11
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

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





Le savoir ne sert que si il est partagé par tous
0
jaknight007 Messages postés 17 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 16 août 2014
15 janv. 2010 à 20:11
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...
0
Rejoignez-nous