关于单位“缇”与“像素”的转换,以及缇与其他单位(例如:厘米)之间的转换
问题:
| 缇等于多少像素? |
| 缇(Twips) (缇:计量单位,等于“磅”的 1/20,英寸的 1/1,440。一厘米有 567 缇。 像素(Pixels):监视器或打印机分辨率的最小单位
右键单击桌面,选择属性,选择“设置”选卡,单击高级按钮。 |
方法二: 缇与像素相互转换的通用函数
这里顺便说一下 ACCESS 中的其他几个单位的转换关系
磅:指打印的字符的高度的度量单位。1 磅等于 1/72 英寸,或大约等于 1 厘米的 1/28。
英寸:2.54 厘米
一般情况下:1厘米=8505像素
Option Compare DatabaseOption ExplicitPrivate Declare Function apiGetDC Lib "user32" Alias "GetDC" _ (ByVal hwnd As Long) As LongPrivate Declare Function apiReleaseDC Lib "user32" Alias "ReleaseDC" _ (ByVal hwnd As Long, ByVal hdc As Long) As LongPrivate Declare Function apiGetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps" _ (ByVal hdc As Long, ByVal nIndex As Long) As LongPrivate Const LOGPIXELSX = 88Private Const LOGPIXELSY = 90Public Const DIRECTION_VERTICAL = 1Public Const DIRECTION_HORIZONTAL = 0'==============================================================================='-函数名称: gFunTwipsToPixels'-功能描述: 转换堤到像素'-输入参数说明: 参数1:rlngTwips Long 需要转换的堤' 参数2:rlngDirection Long DIRECTION_VERTICAL是Y方向 DIRECTION_HORIZONTAL为X方向'-返回参数说明: 转换后像素值'-使用语法示例: gFunTwipsToPixels 50,DIRECTION_VERTICAL'-参考:'-使用注意: '-兼容性: 97,2000,XP compatible'-作者: 王宇虹(参考微软KB),改进:王宇虹'-更新日期: 2002-08-26 ,2002-11-15'===============================================================================Function gFunTwipsToPixels(rlngTwips As Long, rlngDirection As Long) As Long On Error GoTo Err_gFunTwipsToPixels Dim lngDeviceHandle As Long Dim lngPixelsPerInch As Long lngDeviceHandle = apiGetDC(0) If rlngDirection = DIRECTION_HORIZONTAL Then '水平X方向 lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSX) Else '垂直Y方向 lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSY) End If lngDeviceHandle = apiReleaseDC(0, lngDeviceHandle) gFunTwipsToPixels = rlngTwips / 1440 * rlngPixelsPerInchExit_gFunTwipsToPixels: On Error Resume Next Exit FunctionErr_gFunTwipsToPixels: MsgBox Err.Description, vbOKOnly + vbCritical, "Error: " & Err.Number Resume Exit_gFunTwipsToPixelsEnd Function'==============================================================================='-函数名称: gFunPixelsToTwips'-功能描述: 转换像素到堤'-输入参数说明: 参数1:rlngPixels Long 需要转换的像素' 参数2:rlngDirection Long DIRECTION_VERTICAL是Y方向 DIRECTION_HORIZONTAL为X方向'-返回参数说明: 转换后堤值'-使用语法示例: gFunPixelsToTwips 50,DIRECTION_VERTICAL'-参考:'-使用注意: '-兼容性: 97,2000,XP compatible'-作者: 王宇虹(参考微软KB),改进:王宇虹'-更新日期: 2002-08-26 ,2002-11-15'===============================================================================Function gFunPixelsToTwips(rlngPixels As Long, rlngDirection As Long) As Long On Error GoTo Err_gFunPixelsToTwips Dim lngDeviceHandle As Long Dim lngPixelsPerInch As Long lngDeviceHandle = apiGetDC(0) If rlngDirection = DIRECTION_HORIZONTAL Then '水平X方向 lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSX) Else '垂直Y方向 lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSY) End If lngDeviceHandle = apiReleaseDC(0, lngDeviceHandle) gFunPixelsToTwips = rlngPixels * 1440 / rlngPixelsPerInchExit_gFunPixelsToTwips: On Error Resume Next Exit FunctionErr_gFunPixelsToTwips: MsgBox Err.Description, vbOKOnly + vbCritical, "Error: " & Err.Number Resume Exit_gFunPixelsToTwipsEnd Function
浙公网安备 33010602011771号