屏幕尺寸、分辨率、DPI、PPI

屏幕尺寸

下面这张图是华为荣耀7的尺寸图,图上写的是5.2英寸。我们所说的这个5.2英寸是手机屏幕对角线的长度。
在这里插入图片描述
我们平时是不用英寸这个单位的,我们用的是毫米,厘米,米这些单位。那么英寸和毫米,厘米之间怎样的换算关系呢?
1英寸(inch)=2.54厘米(cm)
2.54 * 5.2 = ‭13.208‬ (cm)
即对角线的长度为13.208cm

分辨率(resolution)

指给定的面积内“点”或“像素”的数量。有时被称为“解析度”。可分为显示分辨率、图像分辨率、打印分辨率和扫描分辨率等。分辨率可以理解为点或像素的密度(dot / pixel density)
上面的图显示,华为荣耀7的分辨率是1920px*1080px = ‭2,073,600‬,表示屏幕内有这么多个的像素点。

在我们手机上呈现的一条线,一个面,一张图像都是由一个个像素点来表示的,你也可以简单理解为是由一个个小方块组成的。看看下面这张图你就明白了。
在这里插入图片描述

PPI(屏幕像素密度)

即每英寸屏幕所拥有的像素数,英文简称PPI。在读到这个每英寸屏幕时,我曾经深深的疑惑,这个每英寸是不是每平方英寸的简称呢?事实证明,我还是太年轻,这个英寸跟之前手机屏幕的尺寸一样,也是对角线的长度。所以,我们可以这么理解屏幕像素密度,即在一个对角线长度为1英寸的正方形内所拥有的像素数。
在这里插入图片描述
这个公式真是简单明了,把很多疑问都给我们解决了。我们还是拿华为荣耀7手机为例,我们知道它的尺寸为5.2英寸,分辨率为1920px*1080px(1920px就是公式里的纵向,1080px就是公式里的横向了)。你不信的话就用公式算一下,最后得出的PPI,是不是就是424ppi。我算了一下,结果是423.6359942465958,懂得四舍五入的同学就知道424是个近似值了。

DPI

DPI 是英文 Dots(点) Per Inch 的缩写,在最早的时候,这个单位是用来描述打印机的性能的,意思就是这台打印机最多能用多少个墨点来打印一寸的内容。目前市面上常见的家用黑白打印机普遍都去到了 600 ~ 600 dpi 而家用彩色照片打印机则能去到 5760 ~1440 dpi。DPI 越高,每英寸内的墨点就越多,你打印出来的东西就会越清晰锐利。

DPI 和 PPI 经常混用。因为很多行业将“Dot”泛指为所有的图像基本单元。多数情况下,DPI=PPI,后面涉及到视网膜屏幕(retina)时,会提到怎么就不等了。

DPI缩放

很多年前,厂商已经在自家的笔记本电脑上使用高分辨率屏幕,为专业人士提供更细腻的画面、更好的色彩表现,图片细节更高、文本字体更锐利,如14年上市的ThinkPad W540上的2.8k屏(下图右)、16年上市的ThinkPad p50上的4k屏(下图右)。
在这里插入图片描述
但是高分辨率屏幕不缩放的话文本和图标太小,缩放的话在windows系统下可能存在着缩放模糊、边缘渐变、文本反而不清晰这种情况;某些第三方软件也会出现“缩放无用”的状况,比如下图中的按钮小到没法看。
在这里插入图片描述
Windows Vista开始使用DPI虚拟化(DPI virtualization),为了处理处理不支持DPI的应用程序,不让老程序在高DPI设置下出现界面错位。
如果DPI缩放比例不超过120,那么使用XP沿袭来的传统DPI缩放机制,超过后就使用DPI虚拟化。对于向系统报告了DPI自适应的程序,系统将停用DPI缩放;对于没有报告DPI自适应的程序,系统将会按照如下机制进行:

  1. 如果是整数倍的缩放比例,比如200%、300%,那么系统会使用一点对多点进行缩放。也就是说,200%缩放时,原有长宽方向的各两个、共四个像素点显示原有界面中的像素
  2. 如果非整数倍缩放比例,系统会传给应用一个虚拟后的分辨率(比如19201080在150%缩放后为1280720),然后再把软件输出的界面使用插值算法进行放大,缩放后像素不能填满一格显示像素,因此造成渐变、模糊等问题。

但是这个缩放机制可能会出现视频媒体渲染错误、界面UI元素缩放不齐等问题:
在这里插入图片描述
Windows10 开始所有DPI级别均使用DPI虚拟化技术,但是还是需要兼容老旧的win32传统桌面应用,在整数倍缩放和非整数倍缩放时某些应用表现有明显差异

电脑屏幕可以调分辨率,难道是通过调整它的像素大小实现的?

在同一个设备上,它的像素个数是固定的,这是厂商在出厂时就设置好了的。只有不同的设备之间,才有像素大小的区别。既然在同一个设备上,像素点数早就设定好了,那电脑上可以调整分辨率是怎么回事?我再怎么调,像素点数还是那么多啊。
在这里插入图片描述
家系统给你推荐的是1366px768px的分辨率,你知道意味着什么吗?没错,微软在这块屏幕上横向设置了768个像素,竖向设置了1366个像素。再怎么拉扯,这个数字是不会变了。那么,为啥我还能调整分辨率呢?我要是调整到800px600px,按照定义,横向就是600个像素,竖向就是800个像素了啊。其实呢,你把分辨率调成800600,系统就会分配给你800600个有效像素个数,也就是真实的色彩块。其他的个数呢,就由系统自作主张,通过一系列运算给你一个模拟色彩块,填充成正好1366*768个色彩块。这些拿来充数的像素块,和真实的像素块放到一起。

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值