mdegremo
Messages postés17Date d'inscriptionjeudi 21 août 2008StatutMembreDernière intervention10 septembre 2011
-
7 août 2011 à 07:03
mdegremo
Messages postés17Date d'inscriptionjeudi 21 août 2008StatutMembreDernière intervention10 septembre 2011
-
10 sept. 2011 à 08:37
Bonjour,
je recherhe des informations sur comment créer une règle en déplacant la souris pour mesurer la distance en cm entre 2 points dans une image(picturebox).
Si vous avez ou trouvez des infos, se serait très sympa.
Merci
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 7 août 2011 à 07:46
Bonjour,
En :
- relevant la position (coordonnées x0 et y0) de la souris au Mouse-down
- relevant la position (coordonnées x1 et y1) de la souris au Mouse-up
- en appliquant le thérorème de Pythagore
Ce que tu obtiendras ainsi sera bien évidemment une distance exprimée en unités logiques qui ,sont celles de ta picturebox (son scalemode), à transformer ensuite en cms.
Il te faudra bien entendu ensuite (à moins que l'image de ta picturebox de soit en taille réelle, ce qui m'étonnerait), appliquer à ton résultat un coefficient k dépendant, lui, de l'échelle de représentation de ton image (échelle que tu es censé connaître).
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 9 août 2011 à 10:14
Bonjour, acive
On ne pourra commencer à parler de transposition en cms qu'après le premier pas, sans lequel rien n'est envisageable : détermination de la distance en unités logiques de la picturebox
Or, le demandeur ne me parait pas avoir passé cette étape aussi simple qu'indispensable (si j'en juge par ses messages récents dans deux autres discussions similaires).
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 9 août 2011 à 12:10
Si j'ai le temps je ferais un bout de code dans la journée pour voir
OK, mais garde s'il te plait pour l'instant pour toi la première étape. Tout lui a été dit à ce sujet et il a même eu du plus précis dans les deux autres discussions qu'il est allé voir et où il est intervenu) !
A ce niveau : il en est à apprendre (hé oui, apparemment) les ... opérateurs mathématiques les plus simples !
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Oui t'as encore raison, moi j'ai la fâcheuse habitude de faire les programmes directement et de leur montrer, comme ça moi aussi je suis sur que ça fonctionne aussi...
Mais l'autre jour je suis tombé sur un gars qui me disait: "Mon patron m'a demandé de faire..."
Et c'est là que j'ai tilté, ça veux dire "J'ai réussi à me faire embaucher, mais je n'y connais rien... aidez moi svp"
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 9 août 2011 à 17:52
Mais nous n'avons aucun souci, mdegremo
Mais dès lors que, pour développer, tu t'y intéresses réellement, notamment par l'apprentissage du plus simple (les bases) et que pour toi, développer n'est pas simplement copier/coller.
Reviens avec ce que tu as pu mettre en oeuvre sur les bases de ce qui t'a été dit (même si non exact) et tu auras alors un "coup demain" de développeur à développeur.
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
mdegremo
Messages postés17Date d'inscriptionjeudi 21 août 2008StatutMembreDernière intervention10 septembre 2011 9 août 2011 à 18:14
J'avais démarré avec ceci, mais je vais revoir ma copie ce week end !!
Public Class Form1
Private Declare Function key Lib "User32" Alias "GetAsyncKeyState" (ByVal Key As Keys) As Keys
Dim Count As Integer = 0
Private Sub points()
Dim PosX As Integer = PictureBox.MousePosition.X
Dim PosY As Integer = PictureBox.MousePosition.Y
Dim Point = "X: " & PosX & " Y: " & PosY
If Count = 1 Then
Label1.Text = Point
ElseIf Count = 2 Then
Label2.Text = Point
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If key(Keys.LButton) Then
Count = Count + 1
points()
End If
If Count = 2 Then
Count = 0
End If
End Sub
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 9 août 2011 à 18:18
Que viendrait faire un timer dans cette affaire ?
Relis donc ce qui t'as été dit plus haut :
Tu as 2 évènements (un au mousedown, l'autre au mouseup) qui se déclenchent seuls (sans ton timer) et qui te permettent, l'un comme l'autre, de connaître les coordonnées X, Y de ta souris lors de leur déclenchement.
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP