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,逻辑分辨率和物理分辨率的更多相关文章

  1. CSS中的px与物理像素、逻辑像素、1px边框问题

    一直不太清楚CSS中的1px与逻辑像素.物理像素是个什么关系(作为一名前端感觉很惭愧 -_-!),今天终于花时间彻底弄清楚了,其实弄清楚之后就觉得事情很简单,但也只有在弄清楚之后,才会觉得简单(语出& ...

  2. 分辨率,PPi,DPI,DPR,物理像素,逻辑像素

    屏幕尺寸:指的是屏幕对角线的长度 分辨率:是指宽度上和高度上最多能显示的物理像素点个数 点距:像素与像素之间的距离,点距和屏幕尺寸决定了分辨率大小 PPI:屏幕像素密度,即每英寸(1英寸=2.54厘米 ...

  3. CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport

    1.PX(CSS pixels) 1.1 定义 虚拟像素,可以理解为“直觉”像素,CSS和JS使用的抽象单位,浏览器内的一切长度都是以CSS像素为单位的,CSS像素的单位是px. 1.2 注意 在CS ...

  4. 用一篇文章了解ppi,dpr,物理像素,逻辑像素,以及二倍图

    这篇文章能让你了解到什么是分辨率.dpr.dip.ppi (dpi相当于ppi,dpi用点表示物理像素密度,ppi是逻辑像素密度) 首先从最简单的ppi开始: 一部手机,有大有小,怎么知道手机的大小用 ...

  5. 物理像素,逻辑像素,解决1px的问题

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  6. 移动端适配(绝对单位、相对单位、CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport)

    在某公司做了一次分享,主题是‘移动端和pc端开发的区别’.可以说,这总结的原版就是在这样的契机下完成的.因为我只是习惯了移动端就应该那么写(设置viewport等),要是让我给大家分条讲下所以然,还真 ...

  7. 物理像素[设备像素] & 逻辑像素[CSS像素];

    为什么移动端CSS里面写了1px,实际上看起来比1px粗 了解设备物理像素和逻辑像素的同学应该很容易理解,其实这两个px的含义其实是不一样的, UI设计师要求的1px是指设备的物理像素1px,而CSS ...

  8. 针对iPhone的pt、Android的dp、HTML的css像素与dpr、设计尺寸和物理像素的浅分析

    最近被一朋友问到:css中设置一DOM的height:65px,请问显示的高度是否和Android的65dp的元素等高?脑子里瞬间闪现了一堆的概念,如dpr,ppi,dp,pt等,然而想了一阵,浆糊了 ...

  9. CPU相关知识---物理CPU数、物理核数、逻辑核数、逻辑CPU数 ?

    一.物理CPU数.物理核数.逻辑核数.逻辑CPU数 相互关系??? 物理CPU数 ---> 每个物理CPU对应物理核数 ---> (每个物理核数对应逻辑核数)物理CPU对应逻辑核数 --- ...

  10. mobile_1 物理像素

    1 物理像素 需求: border: 1px solid red; 在移动端 dpr 为 2 的屏幕上,实际上是 2 物理像素.    如何实现 1 物理像素? 首先,肯定不能 border: 0.5 ...

随机推荐

  1. Python 推导式推导序列

    推导式是从一个或多个迭代器快速创建序列的方法.它可以将循环和条件判断结合,从而避免冗长的代码. 一.列表推导式 语法: [表达式 for item in 可迭代对象] [表达式 for item in ...

  2. 求 n的阶乘

    def chengji(n): if n == 0: return 1 return chengji(n-1)*nprint(chengji(n))

  3. ACM基础算法入门及题目列表

    对于刚进入大学的计算机类同学来说,算法与程序设计竞赛算是不错的选择,因为我们每天都在解决问题,锻炼着解决问题的能力. 这里以TZOJ题目为例,如果为其他平台题目我会标注出来,同时我的主页也欢迎大家去访 ...

  4. UVa 1326 - Jurassic Remains(枚举子集+中途相遇法)

    训练指南p.59 #include <cstdio> #include <cstring> #include <cstdlib> #include <map& ...

  5. VS调试时不捕捉Exception

    在方法上添加 [DebuggerHidden] 这样,发生错误的时候,VS就不会捕捉到这个错误,否则,会在错误的地方中断. [DebuggerHidden] public void DeleteAll ...

  6. 201621123034 《Java程序设计》第11周学习总结

    作业11-多线程 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 源代码阅读:多线程程序BounceThread ...

  7. 一些需要注意的ts

    写了一段时间ts,在从头学习一遍,温故而之新 ts的一些技巧 1.巧用注释 通过/** */形式的注释可以给 TS 类型做标记,编辑器会有更好的提示: /** A cool guy. */ inter ...

  8. 基于linux操作系统安装、使用memcached详解

    1.memcached的应用背景及作用 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态. ...

  9. Android 热更新是如何实现的?

    Android开发中,我们常常遇到热更新这个概念,而这个热更新具体是怎么实现的呢?今天在网上看到一个大神分享的热更新相关实现原理和实现代码,感觉灰常不错,分享给广大码农盆友look look . Cl ...

  10. Strassen优化矩阵乘法(复杂度O(n^lg7))

    按照算法导论写的 还没有测试复杂度到底怎么样 不过这个真的很卡内存,挖个坑,以后写空间优化 还有Matthew Anderson, Siddharth Barman写了一个关于矩阵乘法的论文 < ...