热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Twipstopixelsjava_Access量度单位缇与像素,厘米等的换算关系

在Access中,我们常常看到计量单位缇(Twips)。所谓缇是屏幕的一种量度单位,等于120磅。缇是独立于屏幕的单位,可确保在所有显示系

在Access中,我们常常看到计量单位缇(Twips)。

所谓缇是屏幕的一种量度单位,等于 1/20 磅。缇是独立于屏幕的单位,可确保在所有显示系统中,屏幕应用程序中的屏幕元素的位置和比例都相同。逻辑上一英寸约为 1440 缇,一厘米为 567 缇 ( 在显示时,屏幕项目的长度是用英寸或厘米测量的 )。

像素(Pixels):监视器或打印机分辨率的最小单位

那么缇跟像素是怎么计算的呢?

右键=》桌面=》属性,选择“设置”选卡,单击高级按钮。

里面出现DPI设置。一般为“正常尺寸(96 DPI)”。

DPI的意思就是 DPI (Dots per Inch)。因此我们可以得到如下换算公式

1 Twip = 1440 TPI / 96 DPI = 15 Pixels

02cb8090a1392043357379cac5f27995.png

这里顺便说一下 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),改进:王宇虹

'===============================================================================

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),改进:王宇虹

'===============================================================================

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



推荐阅读
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 本文将详细探讨Linux pinctrl子系统的各个关键数据结构,帮助读者深入了解其内部机制。通过分析这些数据结构及其相互关系,我们将进一步理解pinctrl子系统的工作原理和设计思路。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 探讨在 JavaScript 中使用不同方向的 for 循环来实现跟随鼠标的 div 动画时,为什么会出现不同的视觉效果。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • 基于JQuery实现的评分插件
    本文介绍了一个使用JQuery创建的交互式评分控件。当用户将鼠标悬停在星星上时,左侧的星星会变为实心,右侧保持空心,并显示对应的评分等级;移开鼠标后,所有星星恢复为空心状态。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 12月16日JavaScript变量、函数、流程、循环等***线上九期班
    12月16日JavaScript变量、函数、流程、循环等***线上九期班 ... [详细]
  • 本文介绍了如何在 Node.js 中使用 `setDefaultEncoding` 方法为可写流设置默认编码,并提供了详细的语法说明和示例代码。 ... [详细]
author-avatar
冬季梅花1991_156
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有