如何在屏幕上显示物体的实际尺寸

西雀 2007-04-12 09:34:09
制作电子版视力表,因为要遵循国标,所以屏幕上显示的E字视标要符合国标的规定,比如5.0(1.5)的视标边长为7.27mm。

windows系统下显示的是逻辑尺寸,并不一定是实际的尺寸,针对不同的显示器、投影仪,以及不同的windows分辨率,应该怎么做才能使屏幕上显示的是实际的尺寸。

换句话说,怎么能够在屏幕上画一条1cm长的线,用现实中的刻度尺测量也是1cm。

分不多了,只有100,哪位大侠赞助我一点分。
...全文
987 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
No_Data_Found 2010-09-25
  • 打赏
  • 举报
回复
dandelionl 2008-11-16
  • 打赏
  • 举报
回复
我感觉应该能,一会试一下。
西雀 2007-09-06
  • 打赏
  • 举报
回复
哇,我忘了揭帖了

现在搞了个屏幕刻度尺,发现在液晶显示器上能绝对显示真实尺寸,打印机经过校正也可以。
zzyong00 2007-04-14
  • 打赏
  • 举报
回复
sequh(夏克) 说的对
Line (10, 1)-(10, 10 / Me.ScaleX(1, vbPixels, vbMillimeters) + 1)
好像就是1CM的线
programart_life 2007-04-14
  • 打赏
  • 举报
回复
to sequh(夏克)
如果调整显示器后(包括分辨率的调整)都记得提示用户需要重新校正。另外我那方法可能对打印机dc有实际用处,但也只是可能,具体我也没有研究过。呵呵
西雀 2007-04-14
  • 打赏
  • 举报
回复
小仙妹的方法不错。

programart_life(理论派)说的“最终的结果显示出来后和实际尺寸还是有少许差别的,如果想用画出来的做真正的尺子来量东西是不行的。”也不错,但软件在第一次校准后,就可以永久使用了,这应该不是问题。

我采用小仙妹的方法。
西雀 2007-04-14
  • 打赏
  • 举报
回复
我有一个新的想法:

在VB中使用Me.ScaleX(1, vbPixels, vbMillimeters)可以算出vb假定的显示器点距为:0.2645836mm,那么只要知道了显示器的实际点距,比如我的三星19"的点距是0.294mm,通过两个点距的换算就可以显示出实际的尺寸了。
西雀 2007-04-14
  • 打赏
  • 举报
回复
打印机我研究过了,呵呵,打印出来的刻度尺和实际的不一样。LQ1600K的驱动
也就是说打印机打印出的1cm不是实际的1cm
迈克揉索芙特 2007-04-12
  • 打赏
  • 举报
回复
相对量转换也会有误差,你能保证每个显示器没有拉伸吗?
programart_life 2007-04-12
  • 打赏
  • 举报
回复
最终的结果显示出来后和实际尺寸还是有少许差别的,如果想用画出来的做真正的尺子来量东西是不行的。
programart_life 2007-04-12
  • 打赏
  • 举报
回复
GetDeviceCaps函数可以获得指定dc的象素尺寸和毫米尺寸,当然还可以获得其他单位的尺寸。不过国人都喜欢mm不是吗,至少我是很喜欢mm的。呵呵

mm = GetDeviceCaps(hdc, 4)
px = GetDeviceCaps(hdc, 8)

拿 px/mm就是每毫米上的象素,再乘以实际尺寸的毫米数,就是实际尺寸对应的象素。余下的不用我说了吧?

顺便说一下,我真的好喜欢mm。哈哈
CathySun118 2007-04-12
  • 打赏
  • 举报
回复
相对转换
junki 2007-04-12
  • 打赏
  • 举报
回复
相对量,按单位转换就好了。
TechnoFantasy 2007-04-12
  • 打赏
  • 举报
回复
你需要有办法得到显示器的实际显示尺寸,然后根据当前的分辨率就可以的到一个像素的实际尺寸了。但是显示器的实际显示尺寸比较难搞~~~~~~~~
KiteGirl 2007-04-12
  • 打赏
  • 举报
回复
一会我尝试给你写一个测试靶程序。
KiteGirl 2007-04-12
  • 打赏
  • 举报
回复
同样是1280×1024的屏幕,可能是17寸,也可能是19寸、20寸。而屏幕的显示是以像素为单位的,软件想知道屏幕的确切尺寸很困难。
实用的办法是:使用前让用户手工校准一下。在屏幕上显示一个测试靶,请用户用尺子量一下测试靶两个轴的长度并输入。根据用户的输入尺度,经过换算就得到实际尺寸与像素的比例了。
diclover 2007-04-12
  • 打赏
  • 举报
回复
programart_life(理论派) 的方法可行

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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