H5开发基础之像素、分辨率、DPI、PPI

H5开发基础之像素、分辨率、DPI、PPI

 html5

阅读约 4 分钟

?2016-09-03于坝上草原

背景知识:

目前绝大部分显示器都是基于点阵的,通过一系列的小点排成一个大矩形,通过每个小点显示不同的颜色来形成图像,我们把每个小点称为一个像素 (pixel)。

概念点:

1. Dot:物理属性的一个点,打印机或屏幕通过这些点把图片print出来。一块屏幕的Dot的点是固定的。对于一台具体的显示器,多个点(dots)排列起来之后,构成的一个整体的宽度和高度,我们称之为显示器的“物理尺寸 (physical size)”,单位是“宽度x高度”,例如 12"x7.5".

2. Pixel:像素,是一个带颜色的方块,一个Pixel可能由很多个物理Dot组成。在具体设置下,显示器有多少行多少列像素叫做显示器的“分辨率 (geometry)”,表示方法是“宽度像素个数x高度像素个数”,例如 1440x900.在同样的分辨率下,每个小点(dots)的尺寸仍然是可以大可以小的。同样是 900 个点,如果每个点 1 毫米,那就是 90 厘米,如果每个点 1 厘米,那就是 9 米。

3. DPI:dots per inch,称作解析度,一英寸里能包含的Dots的个数,这个像素指的是物理像素,实际存在的。

4. PPI:pixels per inch,每英寸有多少个pixel。PPI=像素数量(√(x²+y²))/物理尺寸(英寸数),x是x轴上的像素数,y是y轴上的像素数,要用对角线来计算,是因为屏幕对角线长度(屏幕尺寸,物理尺寸)是厂商制造时就定好的精确数值。

5. DP:Device independent Pixel(设备独立像素)的缩写,也可叫DiP,1dp表示在屏幕像素点密度为160ppi时1px长度,是andriod的概念。

6. PT:point,是一个长度单位,通用标准是 1 pt = 1/72 inch(1 inch = 2.54 cm),这个标准又称PostScript point,Point 和厘米、毫米什么的单位没有本质区别,只是长度不同,pt和屏幕没关系,只和文档分辨率有关系,是苹果的概念。

7. DP和PT是用来定义应用在不同设备、不同DPI下的标准单位。

8. Px: css pixels逻辑像素,浏览器使用的抽象单位

9. DPR:device pixel ratio,设备像素缩放比,平面上:1px = (dpr)^2 * dp,纬度上:1px = dpr * 2

例:iphone5:分辨率640px * 1136px,PPI:326PPI,dpr图表可得iphone5的dpr为2, 根据纬度上:1px = dpr *  px, iphone5的屏幕为320px * 568px.

10. 屏幕分辨率

分辨率就是屏幕上的像素数,例如2560×1440px的屏幕,屏幕横向有2560个像素,纵向有1440个像素。27"显示器有2560×1440px的点对点分辨率,109PPI。如果把屏幕分辨率调低,会发现屏幕上的窗口、icon都变大了,因为27"上的像素变少了。其实像素还是那么多像素,PPI还是那个PPI,像素变少是因为当你把屏幕分辨率调低时,操作系统会通过拉伸来填充屏幕,这个时候CPU/GPU会用点对点的像素计算出来一套新的分辨率。

屏幕:

HD:1280 * 720px分辨率

full HD: 1920 * 1080px分辨率

4K: QHD或者UHD(超高清),最小分辨率是3840×2160px,另一个常见分辨率是4096×2160px

视网膜屏:Retina是一种规格,是通过减小像素的体积和像素之间的间距,大幅提高屏幕的ppi值。Retina屏dpr大于等于2。

阅读 91发布于 12月19日

原文地址:https://www.cnblogs.com/xuanbjut/p/12113390.html

时间: 2024-08-28 17:21:32

H5开发基础之像素、分辨率、DPI、PPI的相关文章

【H5开发基础】移动端1像素边框问题的解决方案

自从乔帮主提出retina屏以来.可练就了不少前端兄弟的像素眼,有强迫症的伙伴们日子可就煎熬了.为了画出真正的1像素边框,前端猿们也是受尽各浏览器的虐待了. 关于什么是移动端1像素边框问题,先上两张图,大家就明白了. 图1 图2 实现1PX边框的方法有很多,各有优缺点,比如通过背景图片实现.通过transform: scale(0.5)实现.本次实现的是通过VIEWPORT+rem实现的,优点是可以自适应已知的各类手机屏幕,且不存在其它方法存在的变颜色困难.圆角阴影失效问题.缺点嘛,这方法适全新

像素,分辨率,PPI(像素密度),BPP 扫盲

像素于分辨率 像素,又称画素,为图像显示的基本单位,译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel,故“像素”表示“图像元素”之意,有时亦被称为pel(picture element).每个这样的信息元素不是一个点或者一个方块,而是一个抽象的采样.仔细处理的话,一幅图像中的像素可以在任何尺度上看起来都不像分离的点或者方块:但是在很多情况下,它们采用点或者方块显示.每个像素可有各自的颜色值,可采三原色显示,因而又分成红.绿.蓝

屏幕的尺寸(厘米)、屏幕分辨率(像素)、PPI它们之间是什么关系

屏幕的尺寸(厘米).屏幕分辨率(像素).PPI它们之间是什么关系? 添加评论 分享 赞同2反对,不会显示你的姓名 知乎用户,数据ETL,UNITY3D 刘大侠.如果 赞同 以iphone4 为例,分辨率960*640,屏幕3.5英寸(这个指的是对角线长度),换算成厘米为8.89cm:PPI =  = 326:参考 @谭晓丹 来自为知笔记(Wiz)

移动端webapp开发基础

(1) CSS pixels与device pixels CSS pixels: 浏览器使用的抽象单位, 主要用来在网页上绘制内容. device pixels: 显示屏幕的的最小物理单位,每个dp包含自己的颜色.亮度. 等值的 CSS pixels在手机屏幕上占多大的位置,这不是固定的,这取决于很多属性.经过分析和总结,我们可以得出这么一条公式: 1 CSS pixels = (devicePixelRatio)^2 device pixels  . (2) PPI/DPI PPI,有时也叫D

浅谈无线h5开发

最近一直在做h5的项目,对h5开发有了一定的理解.首先h5开发并不是指的html5的开发,而是指无线端的web开发,至于为什么叫h5开发,我觉得一方面是因为html5近几年还是挺受关注,另一方面h5在无线端有比较好的支持. 大概从去年开始,好多人提出了pc已死的说法.其实比不是pc变弱了,反而是用户在不断增长.至于说pc已死,是因为无线实在是增长的太快了,就拿淘宝双十一的成交量来看,大部分的流量已经转向了无线.所以作为一名前端工程师,h5几乎已经成为必会技能. h5 vs pc 首先来对比一下h

移动H5开发入门知识,CSS的单位汇总与用法

说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid app的开发,都用到了css3技术,在css3中,新增了许多单位,rem.vw和vh.vmin和vmax.ch和ex等等,那现在对这些单位分别做一下详细的介绍吧. 1.em 做前端的应该对em不陌生,不是什么罕见的单位,是相对单位,参考物是父元素的font-size,具有继承的特点.如果字体大小是16

iOS开发基础知识--碎片21

iOS开发基础知识--碎片21  1:[UIScreen mainScreen].scale知识点 当屏幕分别为640x940时[[UIScreen mainScreen] scale]=2.0 当屏幕分别为320x480时[[UIScreen mainScreen] scale]=1.0 2:如何正确的绘制1像素的线 #define SINGLE_LINE_WIDTH (1 / [UIScreen mainScreen].scale) #define SINGLE_LINE_ADJUST_OF

iOS开发基础知识--碎片24

 iOS开发基础知识--碎片24 1:兼容字体大小6plue跟它以下的区别 #define FONT_COMPATIBLE_SCREEN_OFFSET(_fontSize_) [UIFont systemFontOfSize:(_fontSize_ *([UIScreen mainScreen].scale) / 2)] 在iPhone4~6中,缩放因子scale=2:在iPhone6+中,缩放因子scale=3 运用时: myLabel.font=FONT_COMPATIBLE_SCREEN_

iOS开发基础知识--碎片5

iOS开发基础知识--碎片5  二十三:addSubview和insertSubview 区别 addSubview 是将view加到所有层的最顶层 相当于将insertSubview的atIndex参数设置成view.subviews count 即 [view addSubview:oneview] == [view insertSubview:oneview atIndex:view.subviews count] addSubview是加到最后 insertSubview是加到指定的位置