写在前面的话

这个问题我六年前就注意到了 但直到今天才完全搞明白 一个人一生中能有几个六年啊 如果你也不知道这个问题 我希望你不会像我一样花六年时间才搞明白 因为你看了我写的东西就明白了

用了六年才想明白的问题

屏幕的实际DPI和设定值不一致的情况下 显示内容的大小是不正确的 比如一张A4的纸 在屏幕上的大小和实际纸的大小不一样 如果要变成一样的需要对屏幕显示的内容进行缩放 缩放的比例是(实际DPI/设定DPI) × 100%

比如 我的屏幕的实际DPI128 而由于各种原因 我用的Windows的DPI是默认值96 所以 如果要在我的屏幕上正确显示和实际大小一样的东西 需要对其进行(128/96) × 100% = 133%的缩放

解释

DPI(Dots Per Inch, 中文Wiki页面) 对于屏幕 计算方法就是分辨率/长(宽)的英寸数得到的是的DPI 一般来说长和宽的DPI应该是一样的罢 否则看着会难看

对于我的笔记本的显示器 分辨率是1920 × 1080 长和宽是38.4 cm × 21.6 cm 换算成英寸是15.1 in × 8.5 in 则长和宽的DPI都大约是128

其实大小不正确的问题我六年前就知道了 但对于这个「不正确」的程度 或者说比例 我一直没搞明白 今天才偶然想到 原来就是DPI的比值啊

FAQ

  • 为什么要让屏幕显示的东西和实际大小一样?
    比如排版 为了在不打印出来的前提下对页面进行预览 需要保证屏幕大小和实际大小一致

  • 为什么你不把Windows的DPI值改成和屏幕的实际DPI一样的?
    这个你要怪微软和那些软件开发者 如果我改了 有很多软件会模糊 所以我还不如不改