们在开发中,涉及到UI显示时,经常会遇到的一些概念,比如分辨率,ppi,dpi等,这些概念,在百度百科中,发现都有对它们的定义,一些博客中,也有对这几个概念的对比,但是看了下,发现解释的也不是很清楚,理解起来还是不太容易,下面讲解下我自己的理解,用尽可能简单通俗的方式,让大家更容易理解。

(1)分辨率

分辨率是用来描述图片的像素信息的,比如我们说一张图片的分辨率是1280*720,那么仅仅是描述这张图片,是由1280个像素* 720个像素组成。

注意:分辨率仅表示图片像素信息,不能表示任何关于图片清晰,清楚,质量高等的任何描述。

(2)PPI(每英寸所拥有的像素)

PPI是用来描述屏幕的像素显示密度,这个值越高,表示屏幕显示能力越强,我们经常会看到某个手机发布新的产品,会宣传屏幕的ppi值,我们举个例子:针对5英寸的1280*720的屏幕。

那么这个手机的屏幕,每英寸,最多显示293个像素点

注意:PPI仅仅描述屏幕的显示能力,也不能描述任何图像的清晰度。

(3)DPI(每英寸打印的点数)

DPI表示每英寸打印的点数,这时算明白了,这个参数才能表示图片清晰度了,只有把图片显示在屏幕上面了,才能谈清晰度。我们举例对比下,常见的几种不同屏幕大小手机的PPI值。

当我们把相同分辨率的图片,放在具有相同像素显示的屏幕上显示时,每一个像素,屏幕上对应一个点显示,此时DPI=PPI, 即我们把分辨率为m*n的图片,放在最大支持m*n像素的屏幕上时,DPI=PPI。

但是,实际上,我们所需要显示图片的分辨率,跟屏幕参数匹配的概率还是很小的,我们来分析下,不匹配时的情况:

当我们把1280*720的图片,放在800*400的4英寸的屏幕与1920*1080的5.5英寸的屏幕上显示时的结果:

PPI是屏幕的显示性能,所以跟显示的图片没有关系,是固定的值,但是DPI是有关系的

1280*720  =>        800*480的4英寸屏幕

虽然图片一行有720个像素,但是屏幕一行最多只能显示480个点,所以DPI=PPI=233,已经达到屏幕的最大显示能力

1280*720  =>        1920*1080的5.5英寸屏幕

虽然屏幕一行有1080个点,但是图片一行最多只能显示720个像素,所以DPI=293<PPI,并未达到屏幕的最大显示能力,屏幕未达到最佳显示。

(4)总结

分辨率只能用来描述图片的像素信息,不能描述图片清晰度

PPI只能用来描述屏幕的显示密度,也不能描述图片的清晰度

DPI才能用来描述图片显示的清晰度,表示图片在屏幕上的显示效果。

当图片分辨率与屏幕显示像素相同时, DPI与PPI值相等

当图片分辨率大于屏幕显示像素时, DPI与PPI值相等,图片显示较差

当图片分辨率小于屏幕显示像素时, DPI值< PPI值相等,图片显示正常,屏幕未达到最佳显示效果。

--------------------- 
作者:丁香树下丁香花开 
来源:CSDN 
原文:https://blog.csdn.net/csdn66_2016/article/details/70331919

(转)分辨率 PPI DPI概念定义详解相关推荐

  1. 转 C++宏定义详解

    来自:传送门 C++宏定义详解 一.#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往 ...

  2. C++中的宏定义详解

    转载自:C++中的宏定义 和 C++宏定义详解 目录 一.#define解析 1 #define命令剖析 1.1   #define的概念 1.2 宏替换发生的时机 1.3 ANSI标准说明了五个预定 ...

  3. 【DG】DG概念原理详解

    [DG]DG概念原理详解 RAC, Data Gurad, Stream 是Oracle 高可用性体系中的三种工具,每个工具即可以独立应用,也可以相互配合. 他们各自的侧重点不同,适用场景也不同. R ...

  4. 站长在线Python教程:Python中类定义详解

    导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中类定义详解>. 我们在上一节内容<Python中面向对象相关概述详解>中学习过,类是具有相同 ...

  5. openerp经典收藏 对象定义详解(转载)

    对象定义详解 原文地址: http://shine-it.net/index.php/topic,2159.0.html http://blog.sina.com.cn/s/blog_57ded94e ...

  6. Oozie 工作流定义详解【转】

    转自:http://shiyanjun.cn/archives/664.html Oozie工作流程定义详解 Oozie工作流程定义是一个DAG(Directed Acyclical Graphs)图 ...

  7. php中的ol标签,html ol标签的使用与定义详解

    一.ol li有序列表标签语法与结构 内容一 内容二 内容三 以上3个li标签组放在 标签之间.并且ol标签之间可以放若干li标签组. 通常我们使用li标签都是使用无序ul li列表标签.一般情况无论 ...

  8. HTML代码 ol ol表示,htmlol标签的使用与定义详解

    一.ol li有序列表标签语法与结构 内容一 内容二 内容三 以上3个li标签组放在 标签之间.并且ol标签之间可以放若干li标签组. 通常我们使用li标签都是使用无序ul li列表标签.一般情况无论 ...

  9. LOD技术——定义详解及相关知识介绍

    LOD技术--定义详解及相关知识介绍 LOD技术(Level Of Detail)指用若干不同复杂度的模型来表示同一对象的技术.此技术主要根据视点距离对象位置的变化调用不同复杂度的模型,即在较远时调用 ...

最新文章

  1. 他山之石:五个互联网英雄的创业启示!
  2. 怎么创建计算机快捷方式到桌面两种方法,使用脚本主机创建Windows快捷方式 - Windows Client | Microsoft Docs...
  3. 类似jquery的一个demo
  4. iOS中MVC等设计模式详解
  5. mysql自带客户端连接服务器,客户端连接mysql服务器的指令 mysql -u root -p 详细讲解及使用实例...
  6. CDN的基本原理和基础架构
  7. MAC M1 安装 matlab2020a
  8. C语言运算符和结合性
  9. 抓取网易云音乐歌曲热门评论生成词云
  10. Java毕设项目——智能仓储系统(java+SSM+Maven+Mysql+Jsp)
  11. cents7 mysql数据库安装和配置
  12. java实现word(docx)在线编辑(word转html,html转word)——解读document.xml结构
  13. APP如何实现「年轻化」的需求?
  14. 这键盘得有磨损多厉害?网友:简直就是骨灰级程序员
  15. 企业vi标志设计中文字设计的方法
  16. 支付宝17年新春红包技术体系剖析
  17. 婚纱照姿势怎么摆 三大技巧帮您解决烦恼
  18. ERROR: column c.relhasoids does not exist
  19. html中的float含义,css中float是什么意思?
  20. 【檀越剑指大厂--并发编程】并发编程总结

热门文章

  1. 英国脱欧不过是小事一桩
  2. 怎样在手机自带的邮件服务器,如何在手机上收发学校邮箱信件
  3. 浙江移动物联网应用开放平台(免费使用)
  4. flex中换行符的使用
  5. 微信辅助验证 信息填写正确 却提示绑卡信息错误的解决办法
  6. STM32F030F4P6 HAL库 PPM信号输出 24L01 PPM接收机制作
  7. 162号段,165号段,167号段
  8. 小白都能懂的 玩转docker系列之 Docker网络详解(超详细)
  9. putty psftp 上传文件夹或上传文件到linux
  10. 关于C++中的emplace_back的解释