我正在创建一个用于显示ECG的Web应用程序,这些应用程序通常在5mm方形网格上以固定比例(10 mm / mV和25 mm / s)绘制。使用正确尺寸非常重要,因为读者会将他们在屏幕上看到的内容与可能仅存在于纸上的其他ECG进行比较。
最推荐的解决方案是使用CSS来设置div的样式,使其具有(例如)1“乘1”的绝对尺寸,并使用JavaScript获取其高度和宽度 (例如,参见How to detect the screen DPI using PHP or JavaScript)。明显, 这只有在浏览器知道(或可以发现)答案并且可以被欺骗时才能起作用 透露它。我使用Chrome在Linux,Mac OS X和Windows上测试了这种方法, Firefox,MSIE,Opera,Safari以及智能设备上的Android浏览器 电话(217 dpi)到19“(108 dpi),20”和30“(101 dpi)显示器,在所有情况下报告的分辨率为96 dpi。我的结论是这种方法不如 一块破损的手表,除非你碰巧有96 dpi的显示器,我正在寻找一些东西 更好。
我正在考虑只显示一个可调整大小的矩形并要求用户将其调整为 已知的大小。有没有人已经这样做过(如果有的话,怎么做),或者有人做过 替代建议(例如在监视器数据库中查找屏幕大小)?
我已经阅读了这里和其他地方的相关讨论,很快就会找到图形绝对大小无关紧要的原因,只有细节的数量。我理解为什么 这通常是正确的,但在这种情况下并非如此。
答案 0 :(得分:5)
可悲的是,根据我自己在客户项目上的经验,你建议的是唯一可靠的选择。
唯一真正可靠的方法是要求用户针对固定尺寸的物体(例如标尺)校准尺寸。我们已经尝试了其他几种解决方案,但没有其他任何方法都能有效。
我让用户只在注册时才这样做,因此不会太麻烦(系统使用次数的用户数量相对较少)。
至于如何,我有一个可调整的div,用户必须校准到1cm,我已经让用户以这种方式校准两个不同的div并验证它们之间的大小差异不大于x(其中x是一些公认的容忍值)。使用键盘按键或拖动div角进行校准,虽然键盘按键通常提供更好的结果,很多人用鼠标不太好,我们得到投诉,允许键盘输入(增加/减少大小)解决了大多数投诉。添加指定像素数量的文本框(并查看结果)也可能有效。
答案 1 :(得分:0)
适用于Mac的Internet Explorer 5附带一个滑块,用于调整其偏好设置中CSS绝对单位的值,甚至可以提供在屏幕上显示标尺的建议。当然,我的IE总是完全校准。
这是我所知道的唯一可以绝对显示绝对单位的浏览器。