office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

Access量度單位緹與像素,厘米等的換算關(guān)系

2017-11-20 14:20:00
cg1
轉(zhuǎn)貼
6484

在Access中,我們常??吹接嬃繂挝?span>緹(Twips)

所謂緹是屏幕的一種量度單位,等于 1/20 磅。緹是獨立于屏幕的單位,可確保在所有顯示系統(tǒng)中,屏幕應(yīng)用程序中的屏幕元素的位置和比例都相同。邏輯上一英寸約為 1440 緹,一厘米為 567 緹 ( 在顯示時,屏幕項目的長度是用英寸或厘米測量的 )。

像素(Pixels):監(jiān)視器或打印機分辨率的最小單位



那么緹跟像素是怎么計算的呢?

右鍵=》桌面=》屬性,選擇“設(shè)置”選卡,單擊高級按鈕。
里面出現(xiàn)DPI設(shè)置。一般為“正常尺寸(96 DPI)”。
DPI的意思就是 DPI (Dots per Inch)。因此我們可以得到如下?lián)Q算公式
1 Twip = 1440 TPI / 96 DPI = 15 Pixels


這里順便說一下 ACCESS 中的其他幾個單位的轉(zhuǎn)換關(guān)系
磅:指打印的字符的高度的度量單位。1 磅等于 1/72 英寸,或大約等于 1 厘米的 1/28。
英寸:2.54 厘米
一般情況下:1厘米=8505像素



另外分享幾個堤與像素相互轉(zhuǎn)換的通用函數(shù)
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
'===============================================================================
'-函數(shù)名稱:         gFunTwipsToPixels
'-功能描述:         轉(zhuǎn)換堤到像素
'-輸入?yún)?shù)說明:     參數(shù)1:rlngTwips Long 需要轉(zhuǎn)換的堤
'                   參數(shù)2:rlngDirection Long DIRECTION_VERTICAL是Y方向 DIRECTION_HORIZONTAL為X方向
'-返回參數(shù)說明:     轉(zhuǎn)換后像素值
'-使用語法示例:     gFunTwipsToPixels 50,DIRECTION_VERTICAL
'-參考:
'-使用注意:         
'-兼容性:           97,2000,XP compatible
'-作者:             王宇虹(參考微軟KB),改進:王宇虹
'===============================================================================
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
'===============================================================================
'-函數(shù)名稱:         gFunPixelsToTwips
'-功能描述:         轉(zhuǎn)換像素到堤
'-輸入?yún)?shù)說明:     參數(shù)1:rlngPixels Long 需要轉(zhuǎn)換的像素
'                   參數(shù)2:rlngDirection Long DIRECTION_VERTICAL是Y方向 DIRECTION_HORIZONTAL為X方向
'-返回參數(shù)說明:     轉(zhuǎn)換后堤值
'-使用語法示例:     gFunPixelsToTwips 50,DIRECTION_VERTICAL
'-參考:
'-使用注意:         
'-兼容性:           97,2000,XP compatible
'-作者:             王宇虹(參考微軟KB),改進:王宇虹
'===============================================================================
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
    分享
    文章分類
    聯(lián)系我們
    聯(lián)系人: 王先生
    Email: 18449932@qq.com
    QQ: 18449932
    微博: officecn01
    移動訪問