Bonjour à tous,
Je trace sur un TImage une ligne au moyen MoveTo-LineTo.
Je voudrais dans l'évenement OnMouseMove de l'image détecter le moment où je passe sur cette ligne.
Est-ce possible?
D'avance merçi.
Version imprimable
Bonjour à tous,
Je trace sur un TImage une ligne au moyen MoveTo-LineTo.
Je voudrais dans l'évenement OnMouseMove de l'image détecter le moment où je passe sur cette ligne.
Est-ce possible?
D'avance merçi.
Salut !
On a le choix :
a) soluton graphique
- Tester si la couleur d'un point (Image->Canvas->Pixels[X][Y]) correspond à celle du segment
- S'il y a plusieurs segments, on peut leur donner une couleur différente
b) solution mathématique
- Si la couleur est la même pour tous les segments, tester si les coordonnées du point vérifient l'équation d'un des segments (celle de la droite qui porte le segment mais dans l'intervalle : min < x < max).
Puisqu'il n'est pas très aisé de trouver un point sous le curseur, on peut utiliser une petite matrice de 9 points, celle de Sobel il me semble, qui permet de ratisser plus large en analysant également les 8 points voisins.
A plus !