LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 2013
-
20 févr. 2008 à 11:44
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 2013
-
21 févr. 2008 à 14:17
Bonjour,
suite à un problème pour tracer des rectangles de manière oblique
je me demande si il n'existe pas une fonction permettant la rotation d'un objet
dans mon cas un rectangle!
ce qui me permettrait de tracer des rectangles avec un certain angle car je n'a&rrive a tracer des rectangles que verticalement et horizontalement!
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 21 févr. 2008 à 13:38
Bon j'ai tester ton exemple avec différent angles et ca marche bien!!!
par contre moi dans mon appli j'ai N rectangles donc j'ai fait ceci :
Public graph_pdt(N) As System.Drawing.Graphics
puis
Dim DrawingMatrix(N) As Drawing2D.Matrix
dans ma fonction qui trace les rectangles :
à la fin --> DrawingMatrix(i) = graph_pdt(i).Transform ( dans une boucle for sur chaque rectangle)
et du coup ta fonction de mouse devient :
Dim i As Integer
Dim pts As Point()
Dim InvMatrix As Drawing2D.Matrix
ReDim pts(0)
' Check if the mouse is on a product
For i= 0 To N
If (DrawingMatrix(i)) IsNot Nothing Then
'# On récupère la matrix inverse :
'# on souhaite transposer les coordonnées de la souris depuis le repère graphique vers les coordonnées classiques
InvMatrix = DrawingMatrix(i).Clone
InvMatrix.Invert()
'# Transposition des coordonnées
pts(0) = e.Location
InvMatrix.TransformPoints(pts)
'# Le contains fonctionne désormais
If my_rect(i).Contains(pts(0)) Then
Me.Text = "In"
Else
Me.Text = "Out"
End If
End If
Next
Bref sur l'ensemble de mes rectangles ca ne marche pas ....j'ai du faire une connerie quelque part!
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 21 févr. 2008 à 13:46
Autant pour moi je n'ai aps fait de conneries, j'avais bien compris ton code qui est PARFAIT !!!
en fait dans ma boucle for , forcément ca réaffichait out apres avoir mis in donc "in" invisible pr moi...
j'ai mis un message box en affichant le rectangle i et c'est bon merci !!
t'es génial, vraiment j'ai appris l'utilisation de pas mal de trucs grace a toi!!! ;-)
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 21 févr. 2008 à 14:17
exactement, c'est comme ça que je vois les choses, apres c'est sur que lorsqu'on ne connait pas certaines fonctions c'est dur...
mais la avec un bon exmple, il suffit de l'analyser , le comprendre et l'adapter ...