看着Windows 8.1 DPI 缩放增强功能很明显,Windows 8.1 正朝着正确的方向发展,为 Windows 提供不错的 Hi DPI 支持,但关于它如何使用“标准化 1 英尺 DPI 值”的描述让我意识到,对于某些设备,你使用设备的方式可以决定“标准化 DPI”值应该是多少当时。
例如,考虑使用 Microsoft Surface Pro 3 的情况,它有 12 英寸 2160x1440 显示屏,您可以将其用作笔记本电脑或将其作为平板电脑:
- 作为一台笔记本电脑,当它距离您的眼睛 2 英尺时,它需要大约 118 dpi1ft 的“标准化 1 英尺 DPI 值”。
- 作为平板电脑,它需要大约 216 dpi1ft 的“标准化 1 英尺 DPI 值”,与距离眼睛 1 英尺的屏幕 DPI 值 (dpi) 相同。
将这些添加到给出的示例中加文·吉尔在他的博客文章中,我们得到:
Display Resolution DPI 1ft Normalised DPI
12" Surface Pro 3 at 22" 2160 x 1440 ~216 dpi ~118 dpi1ft
12" Surface Pro 3 at 12" 2160 x 1440 ~216 dpi ~216 dpi1ft
4.5" HDTV 720 display at 9" 768 x 1280 ~332 dpi ~250 dpi1ft
23" Full HD display at 22" 1920 x 1080 ~96 dpi ~150 dpi1ft (I calculate 176!)
27" WQHD display at 22" 2560 x 1440 ~109 dpi ~175 dpi1ft (I calculate 200!)
32" 4K monitor at 22" 3840 x 2160 ~138 dpi ~250 dpi1ft
感谢 Sven Neuhaus 的DPI计算器/PPI计算器
鉴于为了根据标准化 dpi 进行缩放,必须存储显示尺寸和/或 dpi 值,是否有任何方法可以更改给定显示器的此值?也许它存储在注册表中的某个地方,或者在显示器驱动程序或.inf
文件中?
即使没有支持改变明确明确的 dpi1ft 值的方法,也许可以通过操纵它派生出来的一些值来实现,例如屏幕尺寸。
如果您可以让 Windows 认为 12 英寸 Surface Pro 3 屏幕在 22 英寸下使用时只有 6.5 英寸,它将具有大致相同的标准化 dpi 值:
6.5" Surface Pro 3 at 22" 2160 x 1440 pixels ~396 dpi ~218 dpi1ft
那么,有人能想到一种方法来改变 Windows 显示器的“标准化 DPI”值,或者改变可能导致“标准化 DPI”值改变的任何底层参数吗?