Windev : Convertir des pixels en millimètres ou des millimètres en pixels
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 :
Code:
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 |
Conversion entre une taille en millimètres et un nombre de pixels à l'écran :
Code:
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 |
Plus d'informations sur la méthode GetDeviceCaps ici : http://support.microsoft.com/kb/114709/fr
Bonne prog :ccool: