js 给html设置dpi,如何通过javascript访问屏幕显示的DPI设置?

首先,帮助与术语DPI(每英寸点数)可能(和非常常见的)混淆:

DPI不完全是“显示设置”的一部分。在两个不同的上下文中使用它(mis):

>每英寸显示器(或视频)的原始像素。它确定像素的小小。您可以在14“笔记本电脑屏幕和17”液晶显示器上具有相同的1024×768分辨率。前者大致为1280/14 = 91DPI,后者大致为1280/17 = 75DPI。屏幕的DPI是不可变的;它不能用显示设置更改。 More…

>在打印期间在纸上涂上的每英寸点数。这是打印机/复印机/传真机可以在一英寸纸上打印的并排点数。大多数打印机可以设置为以较低的DPI打印,只需将每个点打印为两个,四个等点。 More…

打印图像时,有许多事情会影响图像在纸张上的最终尺寸:

>源图像的尺寸 – 这是像素或数据的数量。

>源图像的DPI。此值确定在打印图像时如何解释尺寸。

>如果源图像没有嵌入的DPI信息(JPEG可以有一个,GIF从不),正在使用的程序可能有设置以指定DPI。这可以是图像查看器/编辑器或甚至是web浏览器。

>通常在打印对话框中指定的缩放系数。

>打印机的当前DPI设置。

>打印机的物理(最大)DPI。

底线是,您正在打印的图像将有效地重新采样(缩小或放大),以匹配打印过程中使用的最终DPI。任何当事人可能导致此(程序,打印驱动程序,打印机)。

现在,回到你的问题。不,您不能确定屏幕的DPI,因为它不在软件域中。这是一个硬件领域术语,描述了用户可以买多少监视器。更新:我最初写的这个回答在2009年,我的理解当前的技术。正如@thure指出,你现在可以(自2012年以来)使用window.matchMedia函数来确定屏幕的DPI。

如果你想要打印一个HTML布局的精度,像其他人建议的,你的CSS应该使用打印尺寸,如em,pt或pc而不是px。但是,最终的结果可能仍然取决于浏览器使用。如果将HTML转换为PDF(或从头开始生成PDF)是一个选择,打印PDF将给你最真实的所见即所得在屏幕和纸上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值