移动WEB像素相关知识
了解移动web像素的知识,主要是为了切图时心中有数。本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关知识。
一、前置知识
1、 iphone5的相关参数
|
iPhone 5
|
|
|
处理器
|
苹果A6处理器,1.3Ghz
|
|
屏幕
|
四英寸1136 × 640 Retina Display
|
|
主摄像头
|
800万像素
|
|
前置摄像头
|
120万像素
|
|
闪存
|
16GB 32GB 64GB
|
|
机身
|
前钢化玻璃面板,后混合面板+金属边框
|
| 手机尺寸 | 123.8×58.6×7.6mm |
|
网络支持
|
2G:GSM 850/900/1800/1900
3G:CDMA EV-DO rev.A WCDMA 850/900/1900/2100
中国移动2G 中国联通2G/3G/4G(美版v版支持电信3G)
|
2、勾股定理:直角三角形,2直角边的平方和等于斜边的平方!
二、像素相关名词和名词之间的关系
1、px,dp和dpr
px:css pixels 逻辑像素,浏览器使用的抽象单位【切图用逻辑像素】
dp:device independent pixels 设备无关像素,即物理像素 【设备厂商会提供物理像素】
dpr:devicePixelRatio设备像素缩放比 【处理物理像素和逻辑像素的关系,具体换算关系后面再讲】
2、DPI和PPI
DPI:打印机每英寸可以喷的墨汁点(印刷行业)
PPI:即Pixels per inch,屏幕每英寸的像素数量,即单位英寸内的像素密度
在计算机显示设备参数描述上,二者意思一致。
PPI越高,像素数越高,图像越清晰

2.1PPI和默认缩放比DPR的关系

Retina屏(高清屏):dpr都是大于等于2
由对应关系可以看出,PPI越高,系统默认设置缩放比越大,可视度越低(小)。
2.2计算iphone5的PPI
由前置知识能得知iphone5的像素信息:四英寸1136 × 640 Retina Display
首先根据勾股定理计算出iphone5手机屏幕的对角线等效像素,然后除以对角线(4英寸),就得到PPI为326.

注意一点:计算时用的是物理像素,而不是px。
根据3.1的对应关系,可知iphone5的ppi为326对应的屏幕缩放比dpr为2
2.3通过window获取设备的dpr【update20161125】
在移动端浏览器中及某些桌面浏览器中,window对象有一个devicePixelRatio属性,我们可以通过window.devicePixelRatio直接获取到设备的dpr。

3、dpx表示px和物理像素dp的关系

我们已经知道iphone5的dpr为2,给出一个像素在iphone5中的形象图如下:

这个图可以从2个角度理解
- 平面上:1px等于2的平方*dp
- 横向维度或者竖向维度上:1px等于2*dp
3.1计算iphone5的逻辑像素
由前置知识能得知iphone5的像素信息:四英寸1136 × 640 Retina Display
现在也已经知道iphone5的dpx为2,再根据上面的计算公式可以算出针对iphone5切图时其逻辑像素为:320px*568px。
4、由设备分辨率得到屏幕分辨率
整个关系串联起来如下:

参考:http://www.imooc.com/u/2022616/courses?sort=publish
扩展阅读:
设备像素比devicePixelRatio简单介绍(张鑫旭)
本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/5443445.html有问题欢迎与我讨论,共同进步。
移动WEB像素相关知识的更多相关文章
- 移动WEB viewport 相关知识
了解移动web viewport的知识,主要是为了切图时心中有数.本文主要围绕一个问题:切图时怎样设置<meta name="viewport">相关参数?围绕这个问题 ...
- Web缓存相关知识整理
一.前言 工作上遇到一个这样的需求,一个H5页面在APP端,如果勾选已读状态,则下次打开该链接,会跳过此页面.用到了HTML5 的本地存储 API 中的 localStorage作为解决方案,回顾了 ...
- web聊天相关知识
http相关知识 http是无状态,请求,响应模式的通信模式,就是用户每次通过浏览器点击一下页面,都需要重新与web服务器建立一下连接,且发送自己的 session id 给服务器端以使服务器端验证此 ...
- web.xml相关知识摘录整理
web.xml 中的listener. filter.servlet 加载顺序及其详解 在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人 ...
- 了解Web的相关知识
一.WWW基础 WWW(world wide web, 万维网)是Internet上基于客户端/服务器体系结构的分布式多平台的超文本超媒体信息服务系统.它利用超文本(hypertext).超媒体(hy ...
- WEB的相关知识总结
JS-->OOP/Module, DOM, JSON, AJAX------------------><script>, script.js的内容 HTML/JS/CSS HT ...
- WEB相关知识和Tomcat服务器
WEB相关知识 1.Internet上供外界访问的Web资源分为: 静态web资源:指web页面中供人们浏览的数据始终是不变的. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间 ...
- web跨域及cookie相关知识总结
原文:web跨域及cookie相关知识总结 之前对于跨域相关的知识一致都很零碎,正好现在的代码中用到了跨域相关的,现在来对这些知识做一个汇总整理,方便自己查看,说不定也可能对你有所帮助. 本篇主要 ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
随机推荐
- Hadoop的数据管理
Hadoop的数据管理,主要包括Hadoop的分布式文件系统HDFS.分布式数据库HBase和数据仓库工具Hive的数据管理. 1.HDFS的数据管理 HDFS是分布式计算的存储基石,Hadoop分布 ...
- FFmpeg学习5:多线程播放视音频
在前面的学习中,视频和音频的播放是分开进行的.这主要是为了学习的方便,经过一段时间的学习,对FFmpeg的也有了一定的了解,本文就介绍了 如何使用多线程同时播放音频和视频(未实现同步),并对前面的学习 ...
- 如果你也会C#,那不妨了解下F#(6):面向对象编程之“类”
前言 面向对象的思想已经非常成熟,而使用C#的程序员对面向对象也是非常熟悉,所以我就不对面向对象进行介绍了,在这篇文章中将只会介绍面向对象在F#中的使用. F#是支持面向对象的函数式编程语言,所以你用 ...
- C# 一段绘图代码 在form_load事件不能显示图
今天无意将一段绘图代码 写在form_load事件了,结果不能显示绘图.(代码:Graphics g = this.CreateGraphics();Pen pen = new Pen(Color.R ...
- ASP.NET MVC View 和 Web API 的基本权限验证
ASP.NET MVC 5.0已经发布一段时间了,适应了一段时间,准备把原来的MVC项目重构了一遍,先把基本权限验证这块记录一下. 环境:Windows 7 Professional SP1 + Mi ...
- C#开发微信门户及应用(18)-微信企业号的通讯录管理开发之成员管理
在上篇随笔<C#开发微信门户及应用(17)-微信企业号的通讯录管理开发之部门管理>介绍了通讯录的部门的相关操作管理,通讯录管理包括部门管理.成员管理.标签管理三个部分,本篇主要介绍成员的管 ...
- 关于gdb和shp的FID问题
gdb的FID从1开始,并且FID唯一,从数字化时开始,每个图形对应唯一的FID,删除图形亦删除对应的FID.FID可能出现中断的情况. shp的FID从0开始,并且永远连续.删除图形,则编号在其下面 ...
- JavaScript学习笔记4之 ByClass&json
一.通过class获取标签 var out=document.getElementsByClassName(‘out’);IE 6 7 8 不支持 getElementsName 是否有办法既能通过c ...
- Centos6.2设置静态ip和dns
参考了如下文章:https://gist.github.com/fernandoaleman/2172388http://www.lifelinux.com/how-to-configure-stat ...
- swift 学习笔记[1]
最近在IMOOK(网站)上自学了下swift , 总结下swift相对其他语言的不同之处 , 方便熟悉其他语言的程序员,熟悉swift语言的特性. 1. swift 的特别之处就是可以在原有的类上 , ...