(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

当下,2K分辨率已成为主流标配,3K、4K也已经广泛应用。
在屏幕尺寸不变的情况下,高分辨率也就意味着高DPI,对于桌面程序而言,除了先天就支持高DPI的框架外(如UWP、Electron等),大部分桌面程序如果不进行高DPI的适配,往往会出现界面模糊、控件错位、文本显示不全等问题。
目前网上关于高DPI适配的文章很少,大多只是某个问题点的解决、某个DPI相关概念的讲解,繁繁杂杂不成系统,也无迹可循。
本人曾对自己的软件进行过高DPI的适配,在适配的过程中,遇到了很多问题,这些问题中有很多都没有现成的答案,都是靠自己摸索和尝试去解决的。
本着分享的精神,便有了本系列文章,着重分享一下自己在高DPI适配中的一些知识与经验,同时也分享下自己是如何一步步发现、推理、归纳、总结出这些经验的,希望这种一步步的过程,会对你有一些启发。
当然,既然是“经验”,肯定不会百分百的正确,也不会百分百的通用,但“经验”的目的,就是让人有迹可循,作为后来者的肩膀,使之可以前进得更远。

相信看完的你,一定会有所收货!

本文地址:https://www.cnblogs.com/lesliexin/p/14620222.html

二、缩放百分比与DPI之前的对应关系 (一),信息的搜集 1,缩放比例

在Win7中,用户可自行设定的缩放百分比是:100%、125%、150%。
缩放比例的设置方法:

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

到了Win10,用户可以自己设定的缩放百分比是100%~500%之间的任意比例。
缩放比例的设置方法:

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

2,DPI

在不进行缩放时,即缩放比例为100%时,系统的DPI是96。

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

在缩放比例为125%时,DPI为120。

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

在缩放比例为150%时,DPI为144。

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

3,初步分析及问题发现

通过缩放比例与DPI的关系,我们可以发现,两者的增加并不是1比1的关系,即:当缩放比例增加1时,DPI也增加1。
如果为1比1关系,那缩放比例为125%时,DPI应该是(125-100)+96=121;而现实DPI却是120。同理,缩放比例为150%时,现实DPI是144,而不是(150-100)+96=146;

4,扩大样本量

因为Win7中只能设置3种比例,因为样本量太少,而无法正确归纳总结出规律。
但Win10足足可以设置100~500共401个缩放比例,样本量足够多,足以归纳总结出对应规律。
通过在Win10中进行大量的设置,发现了以下现象。

4.1,特殊的缩放比例

缩放比例每一个100间隔之间,就有8个特殊的缩放比例,这8个比例2个一组,对应同一个DPI的值。如下图所示。
100%~200%

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

200%~300%

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

300%~400%

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

400%~500%

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

4.2,特殊缩放比例自动变化

这些特殊的缩放比例中,只能输入图中加粗的缩放比例,即使输入前面的值,当你点击应用时,也会自动变成后面的值。
以特殊缩放比例是212为例,输入212,点击“应用”按钮,会自动变成213,也就是上图中加粗的字体。

(原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

4.3,除特殊缩放比例外的与DPI的对应关系。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxspy.html