問題:
| 緹等於多少像素? |
| 緹(Twips) (緹:計量單位,等於“磅”的 1/20,英寸的 1/1,440。一厘米有 567 緹。 像素(Pixels):監視器或打印機分辨率的最小單位
右鍵單擊桌面,選擇屬性,選擇“設置”選卡,單擊高級按鈕。 |
方法二: 緹與像素相互轉換的通用函數
這里順便說一下 ACCESS 中的其他幾個單位的轉換關系
磅:指打印的字符的高度的度量單位。1 磅等於 1/72 英寸,或大約等於 1 厘米的 1/28。
英寸:2.54 厘米
一般情況下:1厘米=8505像素
Option
Compare Database
Option
Explicit
Private
Declare
Function
apiGetDC
Lib
"user32"
Alias
"GetDC"
_
(
ByVal
hwnd
As
Long
)
As
Long
Private
Declare
Function
apiReleaseDC
Lib
"user32"
Alias
"ReleaseDC"
_
(
ByVal
hwnd
As
Long
,
ByVal
hdc
As
Long
)
As
Long
Private
Declare
Function
apiGetDeviceCaps
Lib
"gdi32"
Alias
"GetDeviceCaps"
_
(
ByVal
hdc
As
Long
,
ByVal
nIndex
As
Long
)
As
Long
Private
Const
LOGPIXELSX = 88
Private
Const
LOGPIXELSY = 90
Public
Const
DIRECTION_VERTICAL = 1
Public
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 * rlngPixelsPerInch
Exit_gFunTwipsToPixels:
On
Error
Resume
Next
Exit
Function
Err_gFunTwipsToPixels:
MsgBox Err.Description, vbOKOnly + vbCritical,
"Error: "
& Err.Number
Resume
Exit_gFunTwipsToPixels
End
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 / rlngPixelsPerInch
Exit_gFunPixelsToTwips:
On
Error
Resume
Next
Exit
Function
Err_gFunPixelsToTwips:
MsgBox Err.Description, vbOKOnly + vbCritical,
"Error: "
& Err.Number
Resume
Exit_gFunPixelsToTwips
End
Function
