关于单位“缇”与“像素”的转换,以及缇与其他单位(例如:厘米)之间的转换...

问题:

 缇等于多少像素?

 


方法一:

 缇(Twips) (缇:计量单位,等于“磅”的 1/20,英寸的 1/1,440。一厘米有 567 缇。
像素(Pixels):监视器或打印机分辨率的最小单位

 

右键单击桌面,选择属性,选择“设置”选卡,单击高级按钮。
里面出现DPI设置。一般为“正常尺寸(96 DPI)”。
DPI的意思就是 DPI (Dots per Inch)。因此我们可以得到如下换算公式
1 Pixel = 1440 TPI / 96 DPI = 15 Twips
1 Twip = 96 DPI / 1440 TPI = 0.0666667 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

转载于:https://www.cnblogs.com/chenyebin/archive/2012/12/18/2822819.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值