Recuperation de la longueur d'un trait

CoK 07 Messages postés 3 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 9 janvier 2006 - 7 janv. 2006 à 16:16
CoK 07 Messages postés 3 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 9 janvier 2006 - 9 janv. 2006 à 16:09
J'aimerai savoir comment je pourrai recupérer la longueur d'une ligne que je trace et la convertir en grandeur reelle car je suppose que la grandeur recuperer sera en pixel.

Merci d'avance

5 réponses

Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
9 janv. 2006 à 00:35
Pour tracer un segment de taille donnée :

HDC hdc;

hdc = GetDC(hWnd);
SetMapMode(hdc, MM_HIMETRIC);

MoveToEx(hdc, 0, 500, NULL);
LineTo(hdc, 500, 500); // trace une ligne de 5cm

ReleaseDC(hWnd, hdc);

A implémenter dans une WinProc. Pour le message WM_PAINT, le hdc se récupère de BeginPaint
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
9 janv. 2006 à 00:41
Rectification : ça trace une ligne de 5mm
0
CoK 07 Messages postés 3 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 9 janvier 2006
9 janv. 2006 à 08:17
J'arrive bien a tracer un trait avec les fonctions MoveTo et LineTo mais la longueur de mon trait varie suivant ce que je veux faire. Je voudrai pouvoir connaitre la longueur de mon trait à chaque tracé pour faire une mesure d'objet par exemple.
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
9 janv. 2006 à 11:35
Ben euh...si tu veux mesurer un trait après qu'il soit déja tracé ça risque d'être un peu difficile. Ma solution barbare serait (si tu peux connaitre certaines coordonnées) de faire des GetPixel() sur une ligne droite tant qu'elle retourne la même couleur afin de déterminer la longueur en pixel de ton trait. Apres avec GetDeviceCaps() (cf. msdn pour les params) tu peux récupérer la résolution de ton écran en "pixel per inch"...sachant qu'il faut multiplier tes inch par 25.4 pour obtenir des millimètres après...en gros c'est galère d'ou la première méthode que j'avais proposé avant ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CoK 07 Messages postés 3 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 9 janvier 2006
9 janv. 2006 à 16:09
Merci beaucoup je vais essayer!!
0
Rejoignez-nous