Voici une méthode permettant d'effectuer une conversion entre un nombre de pixels à l'écran et leur taille en millimètres (mm) et inversement, de connaître le nombre de pixels d'une taille en mm à l'écran.
Conversion entre un nombre de pixels à l'écran et leur taille en millimètres :
Conversion entre une taille en millimètres et un nombre de pixels à l'écran :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 PROCEDURE Pixels_Vers_Mm(LOCAL _iLargeurPixel est un entier,LOCAL _iHauteurPixel est un entier,__rLargeurMm est un réel,__rHauteurMm est un réel) LOCAL CONST_HORZSIZE est un entier = 4 CONST_VERTSIZE est un entier = 6 CONST_HORZRES est un entier = 8 CONST_VERTREZ est un entier = 10 iLargeurPixel est un entier iHauteurPixel est un entier iLargeurMm est un entier iHauteurMm est un entier rCoefL est un réel rCoefH est un réel iResHandle est un entier = SysRécupèreDC(0) iLargeurPixel = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_HORZRES) iHauteurPixel = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_VERTREZ) iLargeurMm = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_HORZSIZE) iHauteurMm = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_VERTSIZE) rCoefL = iLargeurPixel/iLargeurMm rCoefH = iHauteurPixel/iHauteurMm __rLargeurMm = _iLargeurPixel/rCoefL __rHauteurMm = _iHauteurPixel/rCoefH
Plus d'informations sur la méthode GetDeviceCaps ici : http://support.microsoft.com/kb/114709/fr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 PROCEDURE Mm_Vers_Pixels(LOCAL _rLargeurMm est un réel,LOCAL _rHauteurMm est un réel,__iLargeurPixel est un entier,__iHauteurPixel est un entier) LOCAL CONST_HORZSIZE est un entier = 4 CONST_VERTSIZE est un entier = 6 CONST_HORZRES est un entier = 8 CONST_VERTREZ est un entier = 10 iLargeurPixel est un entier iHauteurPixel est un entier iLargeurMm est un entier iHauteurMm est un entier rCoefL est un réel rCoefH est un réel iResHandle est un entier = SysRécupèreDC(0) iLargeurPixel = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_HORZRES) iHauteurPixel = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_VERTREZ) iLargeurMm = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_HORZSIZE) iHauteurMm = AppelDLL32("gdi32","GetDeviceCaps",iResHandle,CONST_VERTSIZE) rCoefL = iLargeurMm/iLargeurPixel rCoefH = iHauteurMm/iHauteurPixel __iLargeurPixel = _rLargeurMm/rCoefL __iHauteurPixel = _rHauteurMm/rCoefH
Bonne prog
Partager