WPF 分辨率无关性原理
2017-03-12 17:34
148 查看
WPF在计算窗口尺寸大小时使用的是系统的DPI设置。WPF窗口以及窗口中所有的元素都是使用设备无关单位度量。一个设备无关单位被定义为1/96英寸。
[物理单位尺寸]=[设备无关单位尺寸]*[系统DPI]=1/96英寸*96dpi=1像素。
当系统默认dpi设置为96dpi时,也就是需要96个像素填充1英寸的空间,如果系统dpi设置为120dpi(对于高分分辨率显示器),这时的物理单位尺寸为:
[物理单位尺寸]=[设备无关单位尺寸]*[系统DPI]=1/96英寸*120dpi=1.25像素。
也就是说当把系统dpi设置为120dpi时,WPF渲染引擎假定了一个设备无关单位等于1.25个像素,如果显示了一个96*96大小的按钮,物理尺寸实际为120*120(96*1.25=120)。也就是说在一个标准显示器上(96dpi)大小为1英寸的按钮,在像素高的显示器上仍然为1英寸大小。
WIN7上更改系统dpi如下图:
总结就是:随着设置的分辨率越高,显示1英寸所需的DPI就越多。
[物理单位尺寸]=[设备无关单位尺寸]*[系统DPI]=1/96英寸*96dpi=1像素。
当系统默认dpi设置为96dpi时,也就是需要96个像素填充1英寸的空间,如果系统dpi设置为120dpi(对于高分分辨率显示器),这时的物理单位尺寸为:
[物理单位尺寸]=[设备无关单位尺寸]*[系统DPI]=1/96英寸*120dpi=1.25像素。
也就是说当把系统dpi设置为120dpi时,WPF渲染引擎假定了一个设备无关单位等于1.25个像素,如果显示了一个96*96大小的按钮,物理尺寸实际为120*120(96*1.25=120)。也就是说在一个标准显示器上(96dpi)大小为1英寸的按钮,在像素高的显示器上仍然为1英寸大小。
WIN7上更改系统dpi如下图:
总结就是:随着设置的分辨率越高,显示1英寸所需的DPI就越多。
相关文章推荐
- WPF 分辨率无关性原理
- WPF 分辨率无关性原理
- WPF 分辨率无关性原理
- WPF单位真的与分辨率无关吗?
- WPF单位真的与分辨率无关吗?
- [转]WPF单位真的与分辨率无关吗?
- 关于WPF中宽高分辨率无关的理解
- WPF单位真的与分辨率无关吗?
- Mozilla研究—XPCOM语言无关性的实现原理
- [系列][编译原理]上下文无关文法及分析
- WPF 获取屏幕分辨率(获取最大宽高)
- WPF中的MVVM模式:WPF中MVVM模式原理分析与实践(转)
- Linux时间子系统之五:低分辨率定时器的原理和实现
- WPF第二篇Button--事件实现原理,多边形Button,阴影效果
- 位置无关(PIC)代码原理剖析
- 什么是Dip和Sp 分辨率无关的度量单位
- WPF通过委托跨页面修改界面控件,并传值原理完全解析
- Linux时间子系统之五:低分辨率定时器的原理和实现
- 如何得到屏幕和可用显示区域的大小尺寸及运用分辨率无关的编程
- Linux时间子系统之五:低分辨率定时器的原理和实现