关于与分辨率和设备无关的图形

关于与分辨率和设备无关的图形

确定屏幕上的文本和图形的大小有两个系统因素:分辨率和 DPI。 分辨率描述屏幕上显示的像素数。 因为分辨率变得越来越高,像素将变得更小,从而导致图形和文本会显得更小。 在设置为 1024 x 768 的监视器上所显示的图形将在分辨率更改为 1600 x 1200 时显示得小很多。

另一个系统设置 DPI 描述屏幕英寸的大小(以像素为单位)。 大多数 Windows 系统的 DPI 都为 96,这意味着屏幕英寸为 96 像素。增加 DPI 设置会使屏幕英寸更大;降低 DPI 可使屏幕英寸更小。 这意味着屏幕英寸与实际英寸不同;在大多数系统上,可能不相同。当增加 DPI 时,可感知 DPI 的图形和文本会变大,因为已增加了屏幕英寸的大小。 增加 DPI 可以使文本更易于阅读,尤其是使用较高的分辨率时。

并非所有应用程序都可感知 DPI:一些将硬件像素用作主要计量单位;更改系统 DPI 对这些应用程序没有影响。 其他许多应用程序使用可感知 DPI 的单位来描述字体大小,但使用像素来描述其他所有内容。 使 DPI 太小或太大,可能导致这些应用程序的布局问题,因为应用程序的文本会随着系统的 DPI 设置而缩放,但应用程序的 UI 并不会。 对于使用 WPF 开发的应用程序,已消除此问题。

WPF 通过使用与设备无关的像素(而不是硬件像素)作为主要测量单位支持自动缩放;图形和文本可正确缩放,而无需应用程序开发者执行任何额外的工作。 下图显示 WPF 文本和图形如何采用不同 DPI 设置进行显示的示例。

éç¨ä¸å DPI 设置çå¾å½¢åææ¬

采用不同 DPI 设置的图形和文本

转发自:https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/graphics-multimedia/wpf-graphics-rendering-overview

先说像素。像素是电子图像组成的基本单位,将图像放大数倍,会发现图像是由一个个“小色块”紧密排列组成的,每一个“小色块”就是一个像素点。也就是说,每个图像都是由n多个像素点组成。
再说分辨率。所谓分辨率,指的是图像或者显示屏在长和宽上各拥有的像素个数。比如一张照片分辨率为1920x1080,意思是这张照片是由横向1920个像素点和纵向1080个像素点构成,一共包含了1920x1080个像素点。再比如我们说一个屏幕分辨率为800x600,意思是这块屏幕最多只能显示800x600个像素点的图片或图像,此时如果加载一个更高分辨率的图片,这个屏幕是无法显示的。
明确了像素和分辨率的概念后,我们再说dpi。其实很简单,dpi是分辨率的表示单位之一。它是英文Dot Per Inch的缩写,意思是“每英寸的点数”。上文中我们说的1920x1080或者800x600,是没加度量单位的简写,如果写全度量单位,完整的分辨率写法应该是1920x1080dpi或者800x600dpi。
当然,更常用的单位还有通常ppi(Pixel per inch)意思是“每英寸像素数”,大多数情况下,dpi跟ppi是同一个意思,二者可以混用。
以上。

转发自:https://zhidao.baidu.com/question/63639406.html

猜你喜欢

转载自blog.csdn.net/qq_16587307/article/details/85258866