(转)分辨率 PPI DPI概念定义详解
们在开发中,涉及到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概念定义详解相关推荐
- 转 C++宏定义详解
来自:传送门 C++宏定义详解 一.#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往 ...
- C++中的宏定义详解
转载自:C++中的宏定义 和 C++宏定义详解 目录 一.#define解析 1 #define命令剖析 1.1 #define的概念 1.2 宏替换发生的时机 1.3 ANSI标准说明了五个预定 ...
- 【DG】DG概念原理详解
[DG]DG概念原理详解 RAC, Data Gurad, Stream 是Oracle 高可用性体系中的三种工具,每个工具即可以独立应用,也可以相互配合. 他们各自的侧重点不同,适用场景也不同. R ...
- 站长在线Python教程:Python中类定义详解
导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中类定义详解>. 我们在上一节内容<Python中面向对象相关概述详解>中学习过,类是具有相同 ...
- openerp经典收藏 对象定义详解(转载)
对象定义详解 原文地址: http://shine-it.net/index.php/topic,2159.0.html http://blog.sina.com.cn/s/blog_57ded94e ...
- Oozie 工作流定义详解【转】
转自:http://shiyanjun.cn/archives/664.html Oozie工作流程定义详解 Oozie工作流程定义是一个DAG(Directed Acyclical Graphs)图 ...
- php中的ol标签,html ol标签的使用与定义详解
一.ol li有序列表标签语法与结构 内容一 内容二 内容三 以上3个li标签组放在 标签之间.并且ol标签之间可以放若干li标签组. 通常我们使用li标签都是使用无序ul li列表标签.一般情况无论 ...
- HTML代码 ol ol表示,htmlol标签的使用与定义详解
一.ol li有序列表标签语法与结构 内容一 内容二 内容三 以上3个li标签组放在 标签之间.并且ol标签之间可以放若干li标签组. 通常我们使用li标签都是使用无序ul li列表标签.一般情况无论 ...
- LOD技术——定义详解及相关知识介绍
LOD技术--定义详解及相关知识介绍 LOD技术(Level Of Detail)指用若干不同复杂度的模型来表示同一对象的技术.此技术主要根据视点距离对象位置的变化调用不同复杂度的模型,即在较远时调用 ...
最新文章
- 他山之石:五个互联网英雄的创业启示!
- 怎么创建计算机快捷方式到桌面两种方法,使用脚本主机创建Windows快捷方式 - Windows Client | Microsoft Docs...
- 类似jquery的一个demo
- iOS中MVC等设计模式详解
- mysql自带客户端连接服务器,客户端连接mysql服务器的指令 mysql -u root -p 详细讲解及使用实例...
- CDN的基本原理和基础架构
- MAC M1 安装 matlab2020a
- C语言运算符和结合性
- 抓取网易云音乐歌曲热门评论生成词云
- Java毕设项目——智能仓储系统(java+SSM+Maven+Mysql+Jsp)
- cents7 mysql数据库安装和配置
- java实现word(docx)在线编辑(word转html,html转word)——解读document.xml结构
- APP如何实现「年轻化」的需求?
- 这键盘得有磨损多厉害?网友:简直就是骨灰级程序员
- 企业vi标志设计中文字设计的方法
- 支付宝17年新春红包技术体系剖析
- 婚纱照姿势怎么摆 三大技巧帮您解决烦恼
- ERROR: column c.relhasoids does not exist
- html中的float含义,css中float是什么意思?
- 【檀越剑指大厂--并发编程】并发编程总结