#define HIMETRIC_PER_INCH 2540 #define LOGPIXELSX 88 #define LOGPIXELSY 90 * Sample usage of HimetricToPixel procedure Local oPictObj, cPicName, nPixelX, nPixelY cPicName = 'testpic.jpg' oPictObj = LoadPicture(cpicname) nPixelX = oPictObj.Width nPixelY = oPictObj.Height ? 'Before conversion :', nPixelX, nPixelY HimetricToPixel(@nPixelX, @nPixelY) ? 'After Conversion :', nPixelX, nPixelY Return * Convert from Himetric to Pixel * Parameters must be passed by reference: * WidthHimetric, HeighHimetric Procedure HimetricToPixel LParameters nHimetricX, nHimetricY Declare Integer MulDiv in win32api ; Integer nNumber, integer nnumerator, integer ndenominator Declare Integer GetDC in win32api Integer hWnd Declare Integer GetDeviceCaps in win32api Integer HDC, Integer nIndex Declare ReleaseDC in win32api Integer hWnd, Integer hDC Local nhDCScr, nxppli, nyppli nhDCScr = GetDC(0) nxppli = GetDeviceCaps(nhDCScr, LOGPIXELSX) nyppli = GetDeviceCaps(nhDCScr, LOGPIXELSY) ReleaseDC(0, nhDCScr) nHimetricX = MulDiv(nxppli, nHimetricX, HIMETRIC_PER_INCH) nHimetricY = MulDiv(nyppli, nHimetricY, HIMETRIC_PER_INCH) EndProc