前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >像素相关概念:PPI、DPI、设备像素、独立像素

像素相关概念:PPI、DPI、设备像素、独立像素

作者头像
桃翁
发布于 2018-06-27 07:43:22
发布于 2018-06-27 07:43:22
2.9K0
举报
文章被收录于专栏:前端桃园前端桃园

感觉在微信上效果不好,去个人站点看 www.taoweng.site

前言

我相信对于像素,英文「pixel」,缩写「px」,这个概念并不陌生吧,不管是设计师设计图片用的单位 px,还是前端工程师在 css 里面的单位 px等等,很多领域都会用到这个单位,但是当我问他们一些问题的时候,基本上都答得不好。

比如:

  • iPhone 6 的分辨率是 750 x 1334 像素,然而我们我们在写 css 的时候是以 375 x 667 来调的;
  • 为什么我们做的一个网页在 pc 端可以正常显示,在移动端也可以正常显示,但是有时候又不正常显示;
  • 我们如果在 pc 端把浏览器的宽度调到只有 200px 宽,里面写一个 100px 宽的 div ,然后再调整浏览器的放大为 200%,然后这个 div 可以充满整个显示器。

如果都能答上来,已经很不错了哦!

像素

定义:是指在由一个数字序列表示的图像中的一个最小单位,称为像素。 —— 百度百科

注意: 我觉得这里最关键的是『单位』,像素是一个单位,而不是一个点,我认为理解为一个长度单位比较好理解,后面我会解释为什么我会觉得是一个长度单位比较好理解。

我在很多文章里看到的定义是,像素就是组成图像的一个一个的点,这会让人感觉像素是个面积单位,我觉得这样有点不妥,并不是不对,要根据上下文而定。

比如 设备像素比(device pixels ratio),简称 DPR,DPR = 设备像素 / 设备独立像素。现在我们就拿 iPhone 6 来做例子,我们可以通过 window.devicePixelRatio 获取设备的 DPR 为 2,设备独立像素,在这里可以认为是 css 像素,整个 iPhone 6 的像素点就有 375 * 667 个。

然后根据上面的公式得出: 总设备像素 = 总 css 像素 2 = 375 667 2 。然而实际上总的设备像素是 750 x 1334 个像素点。 如果我们把像素理解为一个长度单位,那么这个 2 就是 水平的总设备像素 = 2 水平的 css 像素 = 2 375,垂直的总设备像素 = 2 667. 所以总的像素点的个数就等于 = 4 375 667 = 750 * 1334.

前面这个例子有可能现在还看不懂,不明白设备像素、设备独立像素这些概念,后面介绍了再来理解可能容易点,现在就是想带着它是个长度单位来理解。其实 DPR = 设备像素 / 设备独立像 (是在同一个方向,一维的)

设备像素(DP)

定义: 设备像素又称物理像素,其尺寸大小是不会变的,从显示屏从工厂出来的那刻起,物理像素点就不会变了。

实例: iPhone 6 的分辨率是750 x 1334 ,那么这个 750 就是代表 750 的物理像素,是从手机出厂的那刻起,就不会变了,750 表示的就是手机的宽是 750px。这个应该比较好理解。

设备独立像素(DIP)

定义:设备独立像素又称逻辑像素,其尺寸大小是相对的。是一种物理测量单位,基于计算机控制的坐标系统和抽象像素。

其实这个也很好理解,逻辑像素嘛,不就是我们平时用的 CSS 像素么,在 Android 中交设备独立像素。所以 设备独立像素 = CSS 像素。

设备像素比(DPR)

设备像素比 DPR(devicePixelRatio) 是默认缩放为100%的情况下,设备像素和CSS像素的比值。 DPR = 设备像素 / 设备独立像素(是在同一个方向,一维的)

这个概念主要是为了移动设备提出来的,最开始没有 DPR 的概念。但是随着技术的发展,从 iPhone 4 开始,苹果公司将 iPhone 4 的分辨率提高了一倍,但是尺寸没有变化,这意味着大小相同的屏幕上,像素多了一倍(一个方向上,像素点其实是 4 倍),但是屏幕的尺寸没有变化,因为以前设备像素与逻辑像素的比例一直是 1 : 1,都没人去关心这个,而 iPhone 4 的 DPR 为 2 了,所以就有了 DPR 的概念。这也诞生了 retina视网膜屏幕,后面讲 PPI 的时候再具体说。

DPI 和 PPI

前方高能,这两个概念比较容易搞混,新手常常难以区分,包括百度百科所给的概念都互相矛盾,属于难点。

在百度百科上,PPI 定义是每英寸(英寸是个长度单位)所包含的像素数目。而后面又说单位面积的像素数目跟多,图像越清晰。一会儿又说是单位长度,一会儿又说是单位面积。因为英寸是长度单位,就是用来描述线段的,那么所包含的像素数目,此时像素我所理解的是长度单位;而后者说单位面积像素数量,此时我只能理解成像素是一个面积单位。这会让没有真正理解像素或者 PPI 的人迷惑。

现在我还是拿 iPhone 6 的例子来说明到底 PPI 应该是个啥。

我们都知道 iPhone 6 的分辨率是 750 x 1344,对角线长度是 4.7 英寸,PPI 是 326(不知道这些的自己查),但是这个 326 是怎么来的呢?现在我们就来计算下

因为我们并不知道手机的长宽的尺寸,一般厂商只会给对角线的尺寸。 设:长尺寸为 x 英寸,宽的尺寸为 y 英寸,那么就可以得到手机面积 s为: s = x^2 + y^2 (1), 根据勾股定理可以得到 (4.7 英寸)^2 = x^2 + y^2 (2) 根据 (1)(2)可得 s = x^2 + y^2 = (4.7 英寸)^2

现在我们把总面积算出来了,然后再来算总的像素个数。一般像素点是正方形,所以一个点为一个像素平方。所以有:

750 px * 1344 px = 750 x 1344 px^2(注意单位是像素平方)

此时就有 PPI = 750 x 1344 px^2 / (4.7 英寸)^2 = √ 750 x 1344 px / 4.7 英寸

所以就有 PPI 等于每平方英寸的像素点个数(1 个像素点为 1 平方像素),单位是 px^2/ 英寸^2 ; 也等于每英寸多少像素。

所以说其实百度百科那个解释说错也有错,说没错也没错,只是说比较容易让人误解。看到这里我相信应该大家都明白 PPI 道理是什么了吧。

DPI(Dots Per Inch)和 PPI(Pixels Per Inch)都描述了图像的分辨率(或清晰度),但它们不是同一件事。PPI 描述了一英寸数字屏幕上显示的正方形像素的数量(通常在 67-300 之间)。另一方面,DPI 是指打印文档中墨水物理点的数量的打印术语。它们俩其实是差不多的,只是在使用的范围不一样,因为「点」这个还是比较抽象的,当使用电脑屏幕的时候,就是像素点;而当你打印或者印刷东西的时候,就是喷墨点。或者你可以把我们刚推出来来的等式,如果是每平方英寸像素点个数就可以理解为 DPI,每英寸像素理解有 PPI。

PPI 越高,看起来越清晰。

Retina 显示屏

Retina 显示屏是苹果公司首先提出来的,具备足够高像素密度(指的是 PPI 大于 300 的)而使得人体肉眼无法分辨其中单独像素点的液晶屏。最初采用该种屏幕的产品是 iPhone 4,其屏幕分辨率为 640 x 960(每英寸像素数为 326 ppi)。这种分辨率在正常观看距离下足以使人肉眼无法分辨其中的单独像素。

注意:Retina 不是分辨率,也不是单独指PPI,而是指视觉效果。retin屏幕指在正常视线距离内,肉眼很难看到像素的的屏幕。脱离视线距离谈retina就是流氓,50寸的1080P电视,你50CM内看大果粒,50米外看就是retina屏幕。 后言 下一篇文章也是跟这相关的,谈 移动端的适配问题(ppi 适配、resolution 适配、 dpr 适配),理解移动端的三种 viewport 。 大家好,我是桃翁,我为自己代言!

参考文章: PPI vs. DPI: what’s the difference?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端桃园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
移动端布局笔记
设备像素比表示1个CSS像素(宽度)等于几个物理像素(宽度):DPR = 物理像素数 / 逻辑像素数
4O4
2022/04/25
6990
移动端布局笔记
揭秘移动端px,dpi,dpr
移动端开发的时候,我们拿到的 UI设计稿 通常都是 640px 或者是 750px ,明明我们的 设备视口宽度 是设计稿的 一半 ,这是为什么呢?
落落落洛克
2021/07/05
2.3K0
揭秘移动端px,dpi,dpr
H5移动端开发学习总结
对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1.首先,选取一款手机的屏幕宽高作为基准(现在一般选取iphone6的375×667)。之前项目中也用到过iphone5的320×568。 2.对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的4倍(对iphone6而言:原先的375×667,就会变成750×1334)。
全栈程序员站长
2022/08/31
1.2K0
H5移动端开发学习总结
关于移动端适配,你必须要知道的
上面这些问题可能我们在开发中已经知道如何解决,但是问题产生的原理,以及解决方案的原理可能会模糊不清。在解决这些问题的过程中,我们往往会遇到非常多的概念:像素、分辨率、 PPI、 DPI、 DP、 DIP、 DPR、视口等等,你真的能分清这些概念的意义吗?
ConardLi
2019/05/23
2.2K0
什么是移动端开发【重点学习系列—干货十足–一万字详解】
​屏幕大小指屏幕的对角线的长度,单位一般是英寸。常见的手机屏幕大小 3.5、4、4.7、5.0、5.5、6.0等。常见手机屏幕查看网址 http://screensiz.es/
全栈程序员站长
2022/09/12
2.7K0
什么是移动端开发【重点学习系列—干货十足–一万字详解】
【移动端】手机界面的设计尺寸
从设计方面来看,做手机界面设计的尺寸一般分为iPhone和Android两种设备。
全栈程序员站长
2022/06/24
2.5K0
【移动端】手机界面的设计尺寸
第119天:移动端:CSS像素、屏幕像素和视口的关系
移动前端中常说的 viewport (视口)就是浏览器显示页面内容的屏幕区域。其中涉及几个重要概念是 dip ( device-independent pixel 设备逻辑像素 )和 CSS 像素之间的关系。这里首先了解以下几个概念。
半指温柔乐
2018/09/11
1.9K0
第119天:移动端:CSS像素、屏幕像素和视口的关系
07-移动端开发教程-移动端视口
老马初始学习视口的概念的时候,看了很多的文章,看来很多的资料,鲜有人能把这个东西讲的非常透彻的。老马接下来就从初学者能看懂的角度去讲解视口和适配的方案。
老马
2018/02/18
1.6K0
07-移动端开发教程-移动端视口
iPhone 各屏幕尺寸及解析[通俗易懂]
表示沿着对角线,每英寸所拥有的像素(pixel)数目,PPI的数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高,颗粒感越弱,图像更清晰。
全栈程序员站长
2022/07/26
3.6K0
iPhone 各屏幕尺寸及解析[通俗易懂]
移动 web 开发最佳实践
刘春鹏
2017/06/14
3.2K0
移动 web 开发最佳实践
前端不止:Retina屏幕下两倍图
所见不一定即所得 眼睛是心灵的窗户,也是蒙蔽你的一种途径。 假设,我给你一张图片,你觉得肉眼可以观察到全部的细节吗? 屏幕上一张清晰的图片 肉眼在屏幕上看到图片的清晰度由三个因素决定,一是图片像素本
ThoughtWorks
2018/04/17
2.8K0
前端不止:Retina屏幕下两倍图
移动端H5开发基础[通俗易懂]
随着移动端H5需求场景越来越多,例如微信公众号中H5页面的开发,APP中内嵌H5页面等,移动端H5开发基础知识和技巧是前端开发工程师必备的技能~
全栈程序员站长
2022/08/31
1.8K0
移动端H5开发基础[通俗易懂]
CSS尺寸单位介绍
前端开发过程中,尺寸单位是我们必须用到的,下面我们对css中常见的几种尺寸单位px,em,rem,rpx进行逐一介绍 在这之前,需要先对几个概念进行普及介绍
陌上寒
2019/04/02
1.6K0
CSS尺寸单位介绍
现代图片性能优化及体验优化指南 - 响应式图片方案
图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。
Sb_Coco
2023/03/01
1.1K0
现代图片性能优化及体验优化指南 - 响应式图片方案
iOS-屏幕适配基本概念
屏幕模式(1x, 2x, 3x):描述的就是屏幕中一个点有多少个 Rendered Pixels 渲染,对于2倍屏(又称 Retina 显示屏),会有 2 * 2 = 4 个像素的面积渲染,对于3倍屏(又称 Retina HD 显示屏),会有 3 * 3 = 9 个像素的面积渲染
xy_ss
2023/11/22
5090
iOS-屏幕适配基本概念
屏幕分辨率dpi计算_hypodensity
我这里有一个400px*400px的正方形 由于一英寸=326,不够放,所以要用2英寸放
全栈程序员站长
2022/09/20
4.1K0
屏幕分辨率dpi计算_hypodensity
前端基础知识概述 -- 移动端开发的屏幕、图像、字体与布局的兼容适配
前端的一大工作内容就是去兼容页面在不同内核的浏览器,不同的设备,不同的分辨率下的行为,使页面的能正常工作在各种各样的宿主环境当中。
Sb_Coco
2019/09/06
3.2K0
探讨移动端适配
用截图工具(截图工具测得的像素等于物理像素)测得CSS中的1px 的等于物理像素1px的 那么他们的比值就是1:1
切图仔
2022/09/08
1.5K0
探讨移动端适配
图文并茂带你弄懂物理分辨率、分辨率、物理像素、逻辑像素、dpr、ppi
物理分辨率(标准分辨率):显示屏的最佳分辨率,即屏幕实际存在的像素行数乘以列数的数学表达方式,是显示屏固有的参数,不能调节,其含义是指显示屏最高可显示的像素数。
砖业洋__
2023/05/06
2.7K0
图文并茂带你弄懂物理分辨率、分辨率、物理像素、逻辑像素、dpr、ppi
iOS开发常用的图片大小
他的基本思路是以iPhone5S(640 x 1136)为基准进行标注 以iPhone 6P(1242x2208)来切@3x的资源
码客说
2019/10/22
1.3K0
相关推荐
移动端布局笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档