手机开发中不免会遇到分辨率、DPI、PPI和屏幕尺寸等术语,那就弄弄清楚这些概念的真正含义。

分辨率

分辨率这个词在很多地方都有,比如相机、视频、扫描仪。这里说的就是显示器的分辨率。显示器是由一个个像素点(pixel)所组成的,一般所说的显示器分辨率是1280x720就表示这个显示器水平方向有1280个像素,垂直方向上有720个像素。但是并非分辨率越高屏幕显示效果越好,还需要根据屏幕的大小来决定。也就是要看像素的密度(pixel density),这个指标就是DPI(Dots Per Inch)或者PPI(Pixels Per Inch),即英尺屏幕上像素或者是点的个数。

DPI/PPI

DPI = Dots Per Inch
PPI = Pixel Per Inch

两个参数的区别就在于Dot和Pixel的区别,dot值的是显示器上每一个物理的点,而pixel指的是屏幕分辨率中的最小单位。这个两个难道会不一样么?会!当一个像素需要多于一个屏幕上的物理点来显示的时候dot就跟pixel不一样了。这个有另一个叫法叫做dppx(dot per pixel),即每个像素中有多少个点。大部分的显示器中一个像素即一个点,但目前一些比较好的屏幕和一些手机屏幕中dppx会大于1。比如说Mac Retina,iPhone,HTC One等。

相信大家都遇到过一些人的电脑屏幕,看上去总是那么傻大傻大的。就是因为他们把分辨率调的太低导致ppi变低了,让画面看上去那么的不协调。看下面两张图片,我在一个1366x768分辨率的显示器上把分辨率分别设置为1366x768和1024x768所显示的效果。


1024 x 768


1366 x 768

但是大多是情况大家并不会把这两个名词分的那么清楚,所以如果这两个出现的时候基本上都表达的是同一个意思。即PPI(每英寸中有多少个像素)。

那这货怎么算出来的呢?公式如下:

$ DPI = \frac{\sqrt{height^2 + width ^ 2}}{inch}$

公式很简单,$ \sqrt{height^2 + width ^ 2}$ 是对角线上的像素个数,而屏幕尺寸就是对角线的长度。所以算出来就是每英寸有多少个像素。

坑爹的屏幕尺寸

很久以来都不知道为什么显示器的大小单位是英寸,这尼玛不是一个长度单位么怎么能用来表示一个二维的东西。后来才知道这时显示器对角线的长度。

这个坑爹之处是当你知道一个屏幕是几寸的时候你其实无法还原出来这个屏幕到底有多大,因为这只是一个对角线。宽屏和窄屏有可能是同一个尺寸但是他们的面积其实是不一样的。

研究了一下为什么屏幕尺寸是用这个单位。据说是因为历史原因,因为一开始的屏幕是CRT的球形屏幕,CRT屏幕的现实原理就是用电子枪打出高速的电子束打到显示屏上的荧光粉发光。电子枪的射击范围是一个圆,自然就用直径来表示大小。而之后显示器变成矩形以后其实内部依然是电子枪,所以就遗留下来这中屏幕尺寸的单位。

另外一个说法是说显示器厂商认为使用对角线长度当做单位可以让大家觉得显示器更大一点。。: )

Reference

分辨率、DPI、PPI和屏幕尺寸,你都知道是啥么?的更多相关文章

  1. 对屏幕的理解---分辨率,dpi,ppi,屏幕尺寸,像素 等

    1. 名词理解 屏幕尺寸(screen size) 屏幕尺寸(screen size),是屏幕的对角线长度,一般讲的大小单位都是英寸. DPI (dots per inch) dpi 是(英文Dots ...

  2. iOS屏幕尺寸和分辨率了解

    1.截至目前为止,主流的iOS设备屏幕有以下几种: ---------------  iPhone  ---------- --------  iPad ------------ 2.iOS设备屏幕分 ...

  3. iOS屏幕尺寸和分辨率

    iOS平台家族成员主要包括iPhone.iPod Touch和iPad,但是各类设备的分辨率各不相同,目前存在的尺寸主要有: iOS设备的尺寸多种多样,此外,屏幕的分辨率也有多种,总结如下表所示: 其 ...

  4. 屏幕尺寸,屏幕分辨率,屏幕密度,各种长宽单位(px,sp,dp,in.pt,mm)

    常见长宽单位表 名称 单位缩写 单位全拼 介绍 屏幕尺寸 '' 或 in inch 屏幕的大小,通常用屏幕对角线的长度表示.单位是寸 屏幕分辨率 px pixels 整个屏幕的像素数,一般用屏幕的像素 ...

  5. ios开发的frame、物理屏幕尺寸和图片分辨率

    型号 屏幕尺寸(inch) 逻辑分辨率(point) 缩放因子(scale factor) 物理分辨率(pixel) 像素密度(PPI) iPhone3GS 3.5 320 * 480 @1x 320 ...

  6. ios开发之--所有设备的屏幕尺寸

    所有设备型号官网地址:https://www.theiphonewiki.com/wiki/Models iPhone: 机型 像素 比例 像素密度 屏幕尺寸 机型代码 发布日期 iPhone 2g ...

  7. dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算

    一.基本概念 dip        : Density independent pixels ,设备无关像素. dp        :就是dip px        : 像素 dpi       :d ...

  8. dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算(终结版)

    首先,说下概念(网上很多帖子几个地方都搞混了,理一下):   dip : device independent pixels ,设备无关像素. 我看很多帖子写的五花八门的,关于d的,什么display ...

  9. 01安卓像素 dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算

    一.基本概念 dip        : Density independent pixels ,设备无关像素. dp        :就是dip px        : 像素 dpi       :d ...

随机推荐

  1. Codeforces Round #382 Div. 2【数论】

    C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...

  2. OpenCV 人脸识别 C++实例代码

    #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include & ...

  3. C#排序算法小结

    前言 算法这个东西其实在开发中很少用到,特别是web开发中,但是算法也很重要,因为任何的程序,任何的软件,都是由很多的算法和数据结构组成的.但是这不意味着算法对于每个软件设计人员的实际工作都是很重要的 ...

  4. Redis 数据库入门指南

    Redis 是一个开源数据库,它使用内存数据结构存储,可作为数据库.缓存和消息代理使用.Redis 支持丰富的数据结构,有:字符串(Strings).哈希(Hashs).列表(Lists).集合(Se ...

  5. 循环遍历checkbox按钮,和点击后提示。

    今天做了一个有关checkbox点击的项目,点击checkbox获取这行的数值,然后相加.运用的是jquery和PHP传值. $('input[type=checkbox]').click(funct ...

  6. 机器学习之K-近邻算法

    机器学习可分为监督学习和无监督学习.有监督学习就是有具体的分类信息,比如用来判定输入的是输入[a,b,c]中的一类:无监督学习就是不清楚最后的分类情况,也不会给目标值. K-近邻算法属于一种监督学习分 ...

  7. c#教程之通过数据绑定修改数据

    通过数据绑定修改数据 "实体框架"提供了与数据库的双向通信通道.前面已经讲述了如何使用"实体框架"获 取数据,现在来看看如何修改获取的信息,并将改动发送回数据库 ...

  8. Centos:Another app is currently holding the yum lock; waiting for it to exit...

    Another app is currently holding the yum lock; waiting for it to exit... 另一个应用程序是:PackageKit 内存: 27 ...

  9. java try(){}catch(){}自动资源释放

    从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Manag ...

  10. log4j使用--http://www.cnblogs.com/eflylab/archive/2007/01/11/618001.html

    package log4jTest.com; import java.io.FileReader; import org.apache.log4j.BasicConfigurator; import ...