首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么在屏幕上显示物体的实际尺寸

2012-01-11 
如何在屏幕上显示物体的实际尺寸制作电子版视力表,因为要遵循国标,所以屏幕上显示的E字视标要符合国标的规

如何在屏幕上显示物体的实际尺寸
制作电子版视力表,因为要遵循国标,所以屏幕上显示的E字视标要符合国标的规定,比如5.0(1.5)的视标边长为7.27mm。

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

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

分不多了,只有100,哪位大侠赞助我一点分。

[解决办法]
你需要有办法得到显示器的实际显示尺寸,然后根据当前的分辨率就可以的到一个像素的实际尺寸了。但是显示器的实际显示尺寸比较难搞~~~~~~~~
[解决办法]
相对量,按单位转换就好了。
[解决办法]
相对转换
[解决办法]
GetDeviceCaps函数可以获得指定dc的象素尺寸和毫米尺寸,当然还可以获得其他单位的尺寸。不过国人都喜欢mm不是吗,至少我是很喜欢mm的。呵呵

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

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

顺便说一下,我真的好喜欢mm。哈哈
[解决办法]
最终的结果显示出来后和实际尺寸还是有少许差别的,如果想用画出来的做真正的尺子来量东西是不行的。
[解决办法]
相对量转换也会有误差,你能保证每个显示器没有拉伸吗?
[解决办法]
programart_life(理论派) 的方法可行
[解决办法]
同样是1280×1024的屏幕,可能是17寸,也可能是19寸、20寸。而屏幕的显示是以像素为单位的,软件想知道屏幕的确切尺寸很困难。
实用的办法是:使用前让用户手工校准一下。在屏幕上显示一个测试靶,请用户用尺子量一下测试靶两个轴的长度并输入。根据用户的输入尺度,经过换算就得到实际尺寸与像素的比例了。
[解决办法]
to sequh(夏克)
如果调整显示器后(包括分辨率的调整)都记得提示用户需要重新校正。另外我那方法可能对打印机dc有实际用处,但也只是可能,具体我也没有研究过。呵呵
[解决办法]
sequh(夏克) 说的对
Line (10, 1)-(10, 10 / Me.ScaleX(1, vbPixels, vbMillimeters) + 1)
好像就是1CM的线

热点排行