基本概念:

  • 屏幕的像素与图片的像素是一回事吗?
  • 屏幕的分辨率和图片的分辨率是同一回事吗,分别代表什么,二者什么关系?
  • PPI 和DPI 是一回事吗,什么关系?
  • ptpx什么关系?
  • Android中的dppx什么关系?
  • Android中的dpsp什么关系?
  • Android中dip是什么,与px什么关系?

像素

像素,英文为Pixel,是我们日常最熟悉不过的了,但是深入进去会发现其蕴含的知识量是巨大的,此篇对于像素话题也只是浅尝辄止,抛砖引玉。

讨论像素需要分不同的场景: 1. 数字图像 我们程序员日常工作中接触并讨论的像素大多是指这个范畴。

光栅图片(Bitmap)是我们日常接触最多的,例如 jpg,jpeg,png,gif,bmp等等,另一种比较常见的就是矢量图了。 光栅图片是由一个一个像素组成的,那么像素包含哪些信息?有物理尺寸吗?

每个像素由颜色信息组成,有的还包含一个透明度信息。因为可以通过三原色Red,Blue,Green来混合出很多种颜色,所以一个像素就可以使用存储这三种颜色的一个数据结构表示。一个像素占用内存的大小,与其使用多少位来表示这些颜色有关,例如最简单的像素只有一个bit,那么它只能表示两个状态,0或者1,对应到图像上也就是黑白。当一个像素达到24bit的时候,RGB每个通道占8位,可以组合出来的颜色已经有1677万色(256256256=16,777,216)种了,而人类眼睛可以分辨的颜色也只有大概1000多万种,此时就是真彩色了。当然还有32位真彩色,感兴趣的可以去研究。

  图片来源网络,如有侵权联系我删除

那么通过以上的介绍,我们可以得出结论,此处的像素没有物理尺寸,仅仅是一些数据,只有将其显示在物理设备上才会存在物理尺寸。

  1. 硬件显示设备 对于硬件显示设备,我们这边特指手机屏幕和显示器吧,像素是其显示的基本单位。显示屏目前广泛采用点阵显示,将任何的显示设备放大一定程度,可以看到基本都是由RGB三个小灯管组成一个像素(这个我没有办法去验证,但是以前玩google 那个纸板VR眼镜,近距离放大看手机屏幕时,可以看到屏幕上的小网,每个小网格就是一个屏幕的像素)。

图片来源网络,如有侵权联系我删除

分辨率

讨论分辨率仍然需要分讨论场景

1. 数字图像 此时分辨率是用来描述图片的像素信息的,比如我们说一张图片的分辨率是1280*720,那么仅仅是说明这张图片是由1280个像素* 720个像素组成的。如下图所示,至于这张图片的尺寸有多大,清晰还是模糊,这取决于它自身的存储格式以及用来显示它的设备。

  图片来源网络,如有侵权联系我删除

2. 硬件显示设备 是指这块屏幕所包含的像素(这个像素是物理上的,前面我们已经讨论过了)。例如小米8的屏幕分辨率为2248x1080,说明这块屏幕包含了这么多物理像素。

那么图片的分辨率与屏幕的分别率是什么关系呢?这需要清楚了PPI后才可以回答这个问题。

PPI与DPI

DPI是印刷业使用的单位,其表示的是打印纸上每一英寸包含的墨点数量,而PPI是电子屏幕上每一英寸上包含的可寻址物理物理显示单元。其中英寸是西方惯用长度单位,等于2.54厘米。这两个概念之所以如此容易混淆,就是因为一些软件提供商做的孽,例如Microsoft,Adobe,Apple 等等,他们经常将这两个概念互换使用。

PPI

PPI: Pixels Per Inch, 每一英寸上包含的像素个数。 这个值越高,屏幕的显示能力越强,例如小米8 PPI的计算方式如下图所示

DPI

DPI: Dots Per Inch, 每一英寸上包含的点个数。 与PPI计算方式一样,只是应用的领域不同,这个用在印刷业的。

至此我们可以回答图片的分辨率与屏幕的分辨率的关系了,以小米8为例,按照图片比例全屏显示某一张图片: 第一:当将一张1080*2248像素的图片显示在Mi8上时,屏幕上的每一个物理像素对应一个图片像素,可以完美显示。 第二:当将一张2000*2248像素的图片显示在Mi8上时,Mi8的屏幕在宽度上是无法显示的,所以显卡会将图片光栅化,通过一定的算法将2000个像素减少到1080个像素,由于是从多到少的处理,所以图片是清晰的。 第三:当将一张720*1280像素的图片显示在Mi8上时,显卡会将图片光栅化,将图片以其中一边为标准拉伸,图片会变模糊。

Pt vs Px

Pt :汉语翻译为,是一个物理尺寸,长度为1/72 英寸,在概念上Pt与Px毛关系也没有,但是在photoshop中就有关系了。photoshop 中的pt却是一个相对单位(这帮二货各种混用)

换算公式:1pt= (DPI / 72) px

Android中的dp与px关系

dp: Density-independent Pixels, 这个是Android基于物理设备的ppi抽象出来的一个单位。它是以160dpi的屏幕为基准定义的,在160dpi的屏幕的屏幕上1dp=1px,那么我们就可以得出其

换算公式: 1dp=(屏幕ppi/ 160)px

目前Android系统的屏幕分类如下表 |密度分类| 屏幕密度 | |--|--| |ldpi |120dpi | |mdpi |160dpi | |hdpi |240dpi | |xhdpi |320dpi | |xxhdpi |480dpi | |xxxhdpi |640dpi |

Android中的dp与sp关系

sp: Scale-independent Pixels,其与dp基本一样,也是像素无关的,但是是用在描述字体的大小上。其尺寸会同时相应屏幕密度以及用户对字体的偏好设置。 例如:在手机的字体设置为默认大小时,使用dpsp描述字体的大小是一样的,如下图

但是当我们改变了手机的字体默认设置的字号后,dp描述的字体大小没有变化,但是sp描述的字体大小却相应的发生了变化,如下图。

除此之外dpsp再无差异,一般建议字体使用sp作为单位。

Android中dip是什么,与px的关系

dip 就是dp互为别名,没有任何区别,其与px关系见上文。

弄懂ppi、dpi、pt、px、dp、dip、sp之间的关系相关推荐

  1. [css] ui设计中px、pt、ppi、dpi、dp、sp之间的关系?

    [css] ui设计中px.pt.ppi.dpi.dp.sp之间的关系? QQ20150717160352 做了几个移动端的项目之后,深感移动端尺寸换算的必要性,在此做个总结. 先介绍下各自的定义: ...

  2. px,dp,dip,sp,in,mm,pt详细分析

    px,dp,dip,sp,in,mm,pt详细分析 px   :(pixels),屏幕的像素点,不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. dip  :(devi ...

  3. dpi和ppi换算_八一八那些px、pt、ppi、dpi、dp、sp之间的关系

    做了几个移动端的项目之后,深感移动端尺寸换算的必要性,在此做个总结. 先介绍下各自的定义: px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt: point,点,印刷行业常用单位, ...

  4. px,in,mm,pt,dp,dip,sp 之间的换算公式以及区别 屏幕密度

    px   :是屏幕的像素点 in    :英寸 mm :毫米 pt    :磅,1/72 英寸 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  :等 ...

  5. px,in,mm,pt,dp,dip,sp 之间的换算公式以及区别

    px   :是屏幕的像素点 in    :英寸 mm :毫米 pt    :磅,1/72 英寸 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  :等 ...

  6. anaconda pandas运行不了_学习python你必须弄懂的 Python、Pycharm、Anaconda 三者之间的关系...

    Python作为深度学习和人工智能学习的热门语言,学习一门语言,除了学会其简单的语法之外还需要对其进行运行和实现,才能实现和发挥其功能和作用.下面来介绍运行Python代码常用到的工具总结. 一.Py ...

  7. Android开发之显示篇(弄懂ppi、dpi、pt、px、dp、dip、sp之间的关系看这一篇就够了)

    版权申明]非商业目的注明出处可自由转载 博文地址:https://blog.csdn.net/ShuSheng0007/article/details/85165773 出自:shusheng007 ...

  8. 2021年最全Android屏幕适配的度量单位px dp(dip) ppi dpi sp pt的区别(最详细,屏幕尺寸,屏幕分辨率,屏幕兼容,屏幕适配)

    0 前言 快乐李同学最新在学习Android屏幕适配相关的知识点,其中涉及到了很多Android屏幕适配相关概念和度量单位,但是快乐李同学掌握的相关知识不牢固,于是决定写出这两篇文章对这方面的知识点做 ...

  9. 浅谈屏幕适配 dp dip sp dpi ppi px sp

    一.Drawable资源文件夹之间的关系 Android开发中,UI一般会制作多种图片素材,根据素材的分辨率大小,放在如下几个文件夹中: Android 工程里 res 目录下的 drawable-h ...

  10. Android常用计量单位详解(px,in,mm,pt,dp,dip,sp)

    Android常用计量单位详解(px,in,mm,pt,dp,dip,sp) 在传统PC软件开发中经常以像素为单位设计计算机用户界面.例如,定义一个宽度为300像素的表单字段,列之间的间距为5个像素, ...

最新文章

  1. 我们人类与人工智能技术究竟是怎样的关系?
  2. 助理来也胡一川:用数据驱动打造智能行业助理(技术+业务)
  3. 【NLP】一份相当全面的BERT模型精讲
  4. 让IE6、IE7、IE8支持CSS3
  5. matlab与ie交互
  6. git push -u origin master和git push 远程主机名 本地分支名:远程分支名作用
  7. 信息学奥赛一本通(1235:输出前k大的数)——堆排序
  8. OpenMP、MPICH与OpenMPI
  9. GitHub疯传!北大学霸的LeetCode刷题笔记火了
  10. java weblogic 下载,weblogic 下载 weblogic 12.2.1 for windows 64位的下载地址
  11. 使用AJAX中的get请求中文乱码的问题
  12. 无线路由器怎么改密码
  13. [MICO开发帖]MICOkit-Nucleo2.0开发连载贴——1、Micoder开发环境汉化
  14. 【修仙境界】等级划分
  15. Win32 API 学习(20221010)
  16. 【技术备忘录】广和通ADP-L610-Arduino模块实现基于内网穿透的TCP通信
  17. 红米Note5_橙狐RecoveryR11_MIUI12_20.6.18_谷歌相机7.3
  18. 〖文字素材】关于恶魔
  19. 专业函数绘图软件Origin 7.5中文版
  20. aac音频数据的rtp封包过程(android)

热门文章

  1. 创建Supermarket数据库并查询商品信息
  2. 在PyTorch中data.norm()是含义
  3. 马云告诉你:努力做一个内心强大的女子
  4. 如何自己搭建虚拟主机
  5. nodejs-Sream
  6. 微信接口支付接口html,微信 - JSAPI 网页支付
  7. CSS属性 —— color属性
  8. Ubuntu20.04 交叉编译librtmp
  9. 全国计算机二级考试内容都有什么用,全国计算机二级考什么内容
  10. Python爬虫教程-爬取5K分辨率超清唯美壁纸源码