程序截图通过浏览器确定DPI?

问题描述 投票:0回答:5

如果您在JavaScript/Mootools中这样做,则您的朋友是您的朋友。您可以以英寸或厘米的尺寸或什至点(1/72英寸)指定尺寸。如果您绝对需要DPI出于任何原因,即使您可以在这些单元中指定尺寸,只需大小您使用的“可解析” div尺寸,然后从翻译的像素大小中计算出来。

Edit:

javascript mootools dpi
5个回答
4
投票
不幸的是,CSS单位 要点,CM和IN在身体上没有 正确的。他们只是相对 正确的。这是我的第一件事 直到我意识到不是 工作并检查了CSS规格。 我很沮丧。

这是一个很好的观点;浏览器倾向于假设默认DPI(我认为72或96)并使用它来伪造它。 韦尔,如果您需要像您要求的那样精确尺寸,那您就不幸了。您将永远无法读取浏览器所打开的监视器的当前分辨率和该显示器的“可见屏幕区域”的当前分辨率。您绝对不会通过JavaScript得到。 我建议您根据CSS单元进行浏览器的操作和大小的默认假设。然后,您可以允许用户使用您提到的方法“调整尺寸”,但是只有必要的话。使用DPI计算作为用户会话的一部分或cookie存储的DPI计算。

随机地,一旦Microsoft修复了此错误,您可以使用Silverlight的“设备独立单元”进行准确的缩放。

你不能。 DPI是屏幕的像素分辨率和显示器的物理尺寸的函数。我知道的任何浏览器接口都不可用。

我认为您将无法获得精确的结果 - 例如,您可以使用监视器调整图片大小。我宁愿坚持使用用户驱动的方法,尽管您可以F.E.检测第一个估计的屏幕分辨率。

没有在目标计算机上运行代码的浏览器不可能。如果您可以在目标计算机上安装一些内容,则可以对监视器进行足够的确定来计算此内容。

如果用户使用不告知计算机DPI或型号的监视器,则是不可能的。

如果用户使用公共移动设备的内置屏幕,则可以确定DPI如下:

使用例如

uaparser

进行搜索设备模型

在表格中,该设备模型的物理屏幕大小以英寸为英寸,例如

2
投票

DPI计算器 / PPI计算器(其中包含设备模型列表)


0
投票
由于CSS单元(例如

px


0
投票
都不对应于实际设备像素或英寸),需要其他步骤才能转换为CSS单元:

toke pinch-Zoom(

0
投票

take

devicePixelRatio

值可能会受到浏览器默认缩放设置 / OS量表因子(我尚未检查)的影响,并使用


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.