图文并茂带你弄懂物理分辨率、分辨率、物理像素、逻辑像素、dpr、ppi

简介: 物理分辨率和分辨率什么是物理像素什么是CSS像素什么是设备像素比什么是标清屏和高清屏缩放什么是PPI(DPI)

 目录

物理分辨率和分辨率

什么是物理像素

什么是CSS像素

什么是设备像素比

什么是标清屏和高清屏

缩放

什么是PPI(DPI)


物理分辨率和分辨率

首先得知道物理分辨率分辨率是2个概念,可别混淆。


物理分辨率(标准分辨率):显示屏的最佳分辨率,即屏幕实际存在的像素行数乘以列数的数学表达方式,是显示屏固有的参数,不能调节,其含义是指显示屏最高可显示的像素数


image.gif


我的显示屏的物理分辨率(显示屏最高可显示的像素数)就是1920×1080,但是分辨率是1600×900


物理分辨率即LED液晶板的实际分辨率,在LED液晶板上通过网格来划分液晶体,一个液晶体为一个像素点(物理像素)。


分辨率是可以改变的。分辨率为1600×900 时,就是指在LED液晶板的横向上划分了1600个物理像素点,竖向上划分了900个物理像素点。如果你换成1920×1080,那么LED液晶板就会横纵向重新划分物理像素点。 物理分辨率越高,则可接收分辨率的范围越大,则显示屏的适应范围越广。通常用物理分辨率来评价LED显示屏的档次。


我们把一个个像素点当成小格子,那么下图的分辨率就是2 * 4的分辨率,代表横向2个像素点,纵向有4个像素点


image.gif


我们经常所说的分辨率1024*768就是横向有1024个像素点,纵向有768个像素点,再细化一点就是输出图像的每一条水平线上包含1024个物理像素点,一共有768条水平线


很明显,显示相同尺寸的屏幕,肯定是点越多,显示的越精细,效果越好。

那图中这些像素点是什么呢?其实就是物理像素


什么是物理像素


物理像素(physical pixel)又可以称为设备像素(dp : device pixel)


我们来感受一下这些物理像素点,像一个个小格子,一个个小点,看得很清楚


image.gif


image.gif


再细看每个小点,每一个小像素点都是由三原色RGB组成,显示器再控制明暗程度就可以显示想要的效果图案,从定义上来看,像素是指三原色及其灰度的基本编码。


实际的开发是以物理像素为准的吗?


image.gif



这两个手机的宽和高都是一样的,很显然高清屏分辨率4 * 8比标清屏的2 * 4要清晰一些

假如实际开发的像素以物理像素为准,我们要显示1个像素的东西,结果如下




你看到的内容是不一样大的,很显然实际开发不是用物理像素描述的,物理像素只是为了描述设备分辨率需要知道的。实际开发其实是用CSS像素描述的。


不管是PC端还是移动端,都可以用screen.width/height来描述来描述水平和垂直方向的物理像素,即分辨率的水平和垂直方向上的数值。注意:这里分辨率不是物理分辨率。


什么是CSS像素


CSS像素可称为来逻辑像素(logical pixel),也可以称为设备独立像素(dip : device independent pixel)


写css的时候,其实用到的就是css像素

比如

.box {
width:200px;
height:200px;
}

image.gif

这里的px就是说的CSS像素,不是物理像素。那么CSS像素和物理像素是什么关系呢?来看下图

image.gif


左边表示标清屏幕,右边表示视网膜高清屏幕


宽和高都是2个CSS像素,那么在标清屏中需要用2 * 2个物理像素来显示,即1个CSS像素用1 * 1个物理像素来描述


在高清屏需要4 * 4个物理像素来显示,即1个CSS像素用2 * 2个物理像素来描述


高清屏就是显示每个CSS像素的物理点变多了,更精细了,看起来就更清晰了。

再来看看最初的例子



用CSS像素就可以解释上面的例子,手机实际宽和高一样,左边标清屏1个CSS像素代表1个物理像素,右边高清屏1个CSS像素代表4个物理像素。


什么是设备像素比

设备像素比(dpr : device pixel ratio)

dpr = 同一方向上的 物理像素 / CSS像素 (缩放比是1的情况)


同一方向就是指的横向比或者纵向比,后面讲缩放的时候再说为什么计算dpr要求缩放比是1。

还是这张图,来讲解一下dpr


image.gif


我们以一个方向为例,比如横向

标清屏:dpr = 2 / 2 = 1

高清屏:dpr = 4 / 2 = 2

dpr = 2表示1个css像素用2 * 2个设备像素来绘制

console.log(window.devicePixelRatio);可以打印dpr


什么是标清屏和高清屏


dpr为1的就是标清屏,dpr > 1的就是高清屏,如下图示例


image.gif


dpr越大,1 CSS像素表示的物理像素点越多,显示的越精细越清晰,所以会称为高清


缩放


我们看手机经常会用手指去放大图片,看完缩小图片,缩放的是什么?是CSS像素,不是物理像素


物理像素是和分辨率的划分有关的,不可能通过编码来改变的

比如我们要放大,如下面2张图的示例


image.gif


image.gif


放大之后一个CSS像素与多个设备像素重叠

又比如我们要缩小,如下面2张图的示例


image.gif



缩小之后一个设备像素现在重叠了几个CSS像素


缩放之后,缩放比就不为1了,所以就不能这样计算dpr了,刚刚定义dpr的时候说过了,那是缩放比必须是1才成立的定义。


什么是PPI(DPI)

PPI (pixels per inch)就是每英寸的物理像素点,PPI 也可以称为 DPI (dots per inch)

image.gif


每英寸物理像素点越多,密度越大,显示的越精细,类似分辨率,也是来描述像素密度和显示效果的

image.gif



计算,利用勾股定理先算斜边的物理像素,再除以实际尺寸6.06英寸就能算出每英寸的物理像素点PPI 了

image.gif



关注、留言,我们一起学习。


===============Talk is cheap, show me the code================

目录
相关文章
|
2月前
|
算法 计算机视觉
OpenCV(四十四):亚像素级别角点位置优化
OpenCV(四十四):亚像素级别角点位置优化
46 0
|
9月前
|
编解码 前端开发 JavaScript
说说设备像素、css像素、设备独立像素、dpr、ppi之间的区别?
说说设备像素、css像素、设备独立像素、dpr、ppi之间的区别?
|
8月前
|
机器学习/深度学习 传感器 算法
【视频处理】通过调用图像来重建新影片及计算颜色通道的平均灰度值,并检测帧与前一帧之间的差异(Matlab代码实现)
【视频处理】通过调用图像来重建新影片及计算颜色通道的平均灰度值,并检测帧与前一帧之间的差异(Matlab代码实现)
|
9月前
|
编解码 前端开发 JavaScript
设备像素、css像素、设备独立像素、dpr、ppi之间的区别
设备像素、css像素、设备独立像素、dpr、ppi之间的区别
72 0
|
9月前
|
传感器 编解码 监控
Baumer工业相机堡盟相机如何使用Binning像素合并功能( Binning像素合并功能的优点和行业应用)(C++)(C#)
Baumer工业相机堡盟相机如何使用Binning像素合并功能( Binning像素合并功能的优点和行业应用)(C++)(C#)
126 0
|
编解码 人工智能 算法
最新代码开源!TartanCalib:自适应亚像素细化的广角镜头标定
作者测试了三种利用中间相机模型的关键方法:(1)将图像分解为虚拟针孔相机,(2)将目标重新投影到图像帧中,以及(3)自适应亚像素细化。将自适应子像素细化和特征重投影相结合,可将重投影误差显著提高26.59%,帮助检测到最多42.01%的特征,并提高密集深度映射下游任务的性能。最后,TartanCalib是开源的,并在一个易于使用的标定工具箱中实现。作者还提供了一个translation 层和其它最先进的工作,允许使用数千个参数回归通用模型或使用更稳健的求解器。为此,TartanCalib是广角标定的首选工具!
最新代码开源!TartanCalib:自适应亚像素细化的广角镜头标定
|
编解码 前端开发 JavaScript
【CSS】聊一聊CSS像素、设备像素、设备独立像素、dpr、ppi 之间的区别
前言 大家好,我是HoMeTown,顺着计量单位,想继续聊一下CSS像素、设备像素、设备独立像素、dpr、ppi 之间的区别。
160 0
|
编解码 前端开发 Android开发
像素相关概念:PPI、DPI、设备像素、独立像素
像素相关概念:PPI、DPI、设备像素、独立像素
164 0
像素相关概念:PPI、DPI、设备像素、独立像素
FPGA-像素操作(二值图片,异或操作,暗通道rgb)
FPGA-像素操作(二值图片,异或操作,暗通道rgb)
186 0
FPGA-像素操作(二值图片,异或操作,暗通道rgb)