關於單位轉換的問題

TonyTonyQ 2004-08-04 11:57:01
一篇關於標簽打印機的編程文檔裏,對調用定位指令的坐標單位是dots,不知道在.NET裏有沒有對應的單位,我猜想有點像.NET裏的point單位,不知是不是?

文檔説明如下:
ecTextOut(x,y,b,c,d)
x:(數值)設定文字所在位置的X軸座標(dots)
y:(數值)設定文字所在位置的Y軸座標(dots)
...

我現在要求把這個單位換算成pixel(像素),mm(毫米),point(點),請問如何做(請使用.NET内置的方法完成,如果是通過換算計算式完成的請給出計算式)。

還有,就是一個em的單位,是何單位?

請大蝦指教.
...全文
127 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TonyTonyQ 2004-08-27
  • 打赏
  • 举报
回复
没人知道吗?
TonyTonyQ 2004-08-24
  • 打赏
  • 举报
回复
!?
yingshis 2004-08-13
  • 打赏
  • 举报
回复
以下的API函数可以计算出系统的像素点与twip的比例关系。

'API函数声明
Declare Function GetDC Lib "User32" (ByVal hwnd As Integer) As Integer
Declare Sub ReleaseDC Lib "User32" (ByVal hwnd As Integer, ByVal hdc As Integer)
Declare Function GetDeviceCaps Lib "Gdi32" (ByVal hdc As Integer, ByVal nIndex As Integer) As Integer
'执行API调用所需常量定义
Const HWND_DESKTOP = 0
Const LOGPIXELSX = 88
Const LOGPIXELSY = 90

'返回X轴方向上每像素包含的缇值
Function TwipsPerPixelX() As Single
Dim intDC As Integer
intDC = GetDC(HWND_DESKTOP)
TwipsPerPixelX = 1440 / GetDeviceCaps(intDC, LOGPIXELSX)
ReleaseDC(HWND_DESKTOP, intDC)
End Function

'返回Y轴方向上每像素包含的缇值
Function TwipsPerPixelY() As Single
Dim intDC As Integer
intDC = GetDC(HWND_DESKTOP)
TwipsPerPixelY = 1440 / GetDeviceCaps(intDC, LOGPIXELSY)
ReleaseDC(HWND_DESKTOP, intDC)
End Function
TonyTonyQ 2004-08-10
  • 打赏
  • 举报
回复
自己顶
TonyTonyQ 2004-08-06
  • 打赏
  • 举报
回复
還有人知道伐?
hertcloud 2004-08-04
  • 打赏
  • 举报
回复
好像 只有自己转换了!~
babygod 2004-08-04
  • 打赏
  • 举报
回复
好象是 15 dots = 1 pixel
xiaohutushen 2004-08-04
  • 打赏
  • 举报
回复
1 inch = 25.4 mm

你说的X的单位是pixel(像素)。
1 pixel= 1/72 inch。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧