物理像素,ppi,逻辑分辨率和物理分辨率
1
明确几个概念:
物理像素:屏幕物理像素
屏幕像素密度ppi:pixels per inch,屏幕上每英寸可以显示的像素点的数量,即屏幕像素密度。顺便一提,ppi就是dpi,只不过有文章里说苹果喜欢用ppi,dpi安卓喜欢用,emmmm,所以还是用ppi吧。
ppi的计算:屏幕对角线的屏幕物理像素密度除以屏幕尺寸。
以 iphone6 为例子,屏幕是 1334*750,326ppi,屏幕4.7英寸
Math.sqrt(Math.pow(1334,2)+Math.pow(750,2)) / 4.7 ≈ 325
在移动设备开发里面,屏幕适配也是需要考虑的一个问题,为了在不同屏幕中统一设置的单位能够自适应,IOS开发推出了PT,Android中叫做DP/DiP(Device independent Pixel,设备无关像素),字体会用sp。这些单位都是相对单位,开发的时候数值是固定的,单位会自动随屏幕的ppi改变px的倍数,标准是以160ppi的屏幕下1dp=1px,其他按比例计算。比起前端开发真是方便太多了。
除了这些,还有:pc、sp、dpi、ldpi、mdpi、hdpi、xhdpi、xxhdpi...这些没什么特别需要记住的,需要的百度就查一下就行了,dpi前加其他的其实都是dpi,只不过是不同屏幕分辨率下的不同表示。
2
为什么有个逻辑分辨率和物理分辨率之分呢,主要是软件开发的限制,ios 开发以 pt 为单位,1pt 在 iphone 4 上是等于 2px,iphone 6p 上是 3px。所以如果设置了逻辑分辨率,开发就很方便,只需要写一个单位值就能适配各种尺寸的屏幕。
关于设备像素比,用 iPhone 做例子:

上表清晰展示了历代 iphone 的逻辑分辨率和物理分辨率关系。有个特殊的地方是 iphone 6p 的设备像素比,不是整数 3,即物理像素分辨率是 1080x1920 而不是 1242x2208,虽然获取时 window.devicePixelRatio 依然是拿到 3 的,不过是近似等于 3,关于原因可以看下面链接的回答。
本文来源:JuFoFu
本文地址:http://www.cnblogs.com/JuFoFu/p/7719823.html
水平有限,错误欢迎指正,转载请注明出处。
参考链接:
深入了解viewport和px
http://tgideas.qq.com/webplat/info/news_version3/804/7104/7106/m5723/201509/376281.shtml
iPhone 6 Plus 的逻辑分辨率为什么是 414x736 ?
https://www.zhihu.com/question/25361043
逻辑分辨率和物理分辨率到底是什么呀?
https://www.zhihu.com/question/40506180?sort=created
物理像素,ppi,逻辑分辨率和物理分辨率的更多相关文章
- CSS中的px与物理像素、逻辑像素、1px边框问题
一直不太清楚CSS中的1px与逻辑像素.物理像素是个什么关系(作为一名前端感觉很惭愧 -_-!),今天终于花时间彻底弄清楚了,其实弄清楚之后就觉得事情很简单,但也只有在弄清楚之后,才会觉得简单(语出& ...
- 分辨率,PPi,DPI,DPR,物理像素,逻辑像素
屏幕尺寸:指的是屏幕对角线的长度 分辨率:是指宽度上和高度上最多能显示的物理像素点个数 点距:像素与像素之间的距离,点距和屏幕尺寸决定了分辨率大小 PPI:屏幕像素密度,即每英寸(1英寸=2.54厘米 ...
- CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport
1.PX(CSS pixels) 1.1 定义 虚拟像素,可以理解为“直觉”像素,CSS和JS使用的抽象单位,浏览器内的一切长度都是以CSS像素为单位的,CSS像素的单位是px. 1.2 注意 在CS ...
- 用一篇文章了解ppi,dpr,物理像素,逻辑像素,以及二倍图
这篇文章能让你了解到什么是分辨率.dpr.dip.ppi (dpi相当于ppi,dpi用点表示物理像素密度,ppi是逻辑像素密度) 首先从最简单的ppi开始: 一部手机,有大有小,怎么知道手机的大小用 ...
- 物理像素,逻辑像素,解决1px的问题
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- 移动端适配(绝对单位、相对单位、CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport)
在某公司做了一次分享,主题是‘移动端和pc端开发的区别’.可以说,这总结的原版就是在这样的契机下完成的.因为我只是习惯了移动端就应该那么写(设置viewport等),要是让我给大家分条讲下所以然,还真 ...
- 物理像素[设备像素] & 逻辑像素[CSS像素];
为什么移动端CSS里面写了1px,实际上看起来比1px粗 了解设备物理像素和逻辑像素的同学应该很容易理解,其实这两个px的含义其实是不一样的, UI设计师要求的1px是指设备的物理像素1px,而CSS ...
- 针对iPhone的pt、Android的dp、HTML的css像素与dpr、设计尺寸和物理像素的浅分析
最近被一朋友问到:css中设置一DOM的height:65px,请问显示的高度是否和Android的65dp的元素等高?脑子里瞬间闪现了一堆的概念,如dpr,ppi,dp,pt等,然而想了一阵,浆糊了 ...
- CPU相关知识---物理CPU数、物理核数、逻辑核数、逻辑CPU数 ?
一.物理CPU数.物理核数.逻辑核数.逻辑CPU数 相互关系??? 物理CPU数 ---> 每个物理CPU对应物理核数 ---> (每个物理核数对应逻辑核数)物理CPU对应逻辑核数 --- ...
- mobile_1 物理像素
1 物理像素 需求: border: 1px solid red; 在移动端 dpr 为 2 的屏幕上,实际上是 2 物理像素. 如何实现 1 物理像素? 首先,肯定不能 border: 0.5 ...
随机推荐
- Unresolved defparam reference to 'read_aclr_synch' in dcfifo_component.read_aclr_synch
问题: 今天用 questasim 仿真出现下面这个问题. Unresolved defparam reference to 'read_aclr_synch' in dcfifo_component ...
- ubuntu 16.04 安装grpc
参考自:http://dreamlikes.cn/archives/555 ==== 其中在第四步,编译安装gRPC时, make 后,出现错误 /usr/bin/ld: warning: libpr ...
- android ViewGroup getChildDrawingOrder与 isChildrenDrawingOrderEnabled()
getChildDrawingOrder与 isChildrenDrawingOrderEnabled()是属于ViewGroup的方法. getChildDrawingOrder 用于 返回当前 ...
- 哈希URAL 1941 - Scary Martian Word
A - Scary Martian Word Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I ...
- hadoop2.6.4【ubuntu】单机环境搭建 系列1
jdk安装 tar zxvf jdk mv jdk /usr/lib/jvm/java jdk环境变量配置 vim /etc/profile ``` export JAVA_HOME=/usr/lib ...
- Mysql入门的10条语句
1.查看当前服务器下面,有那些库(database)? 答: show databases; 2.如何创建一个数据库? 答 : create database 最后面在写数据库名:分号结束 3.选择数 ...
- 为啥shmem不回收 | drop_caches
内核在哪里禁止对tmpfs中内存页的回收 mem.limit_in_bytes同样会触发shrink_zones过程! shrink_zones是代码中的直接内存回收路径 1.try_to_free_ ...
- sqlserver 汉字转拼音 索引 函数
IF OBJECT_ID('[fn_GetPinyin]') IS NOT NULL DROP FUNCTION [fn_GetPinyin] GO create function [dbo].[fn ...
- Codeforces Round #386 (Div. 2) 746F(set的运用)
题目大意 给出一个歌单(有n首歌),每个歌都有愉悦值和时间,你可以选择从第x首歌开始听(也就是选择连续的一段),并且你可以选择w首歌让它的时间减半,限制时间为k,求最大的愉悦值 首先我们需要贪心一下, ...
- 深入解析vue.js响应式原理与实现
vue.js响应式原理解析与实现.angularjs是通过脏检查来实现数据监测以及页面更新渲染.之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新渲染页面.vue.js ...