带你走进分辨率/像素的世界
2016-05-05 10:56
337 查看
基本概念
dip(dp): Density independent pixels ,设备无关像素。
px: 像素
dpi:dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度,简称密度
density : 直接翻译的话貌似叫 密度。常见取值 1.5 , 1.0 .
分辨率 : 横纵2个方向的像素点的数量(譬如:480X800。就是指屏幕上有多少个点)
屏幕尺寸: 屏幕对角线的长度。电脑电视同理。大小单位都是英寸。
其中:dpi和density是一样的,他们之间只是存在比例的问题。
入正题吧!
首先大家都知道,点组成了线,线连成了线,线组成了面。那么无可厚非点当然就是像素了。
这边我详细跟大家讲一下各个单位之间的换算。如果大家都能看懂,想必,对像素这些的基本概念也就一目了然了。
1.计算像素的密度(一英寸多少像素点级dpi)
比如一个手机,屏幕4寸,分辨率480X800,它的dpi能算么?
因为不知道边长,肯定不能分开算,4是对角线长度,那直接用勾股定理算对角线像素,除以4,算出来大概是 dpi = 233 像素/英寸。
那么density就是 (233 px/inch)/(160 px/inch)=1.46 左右(在这里就可以清楚的看到了dpi和desity之间就是个 比例的问题,这边您可以不用刻意去理解它)
顺带说下,android默认的只有3个dpi,low、medium和high,对应 120、160、240,如果没有特别设置,所有的dpi都会被算成这3个。
2. 计算 dp(设备无关像素)与 px (看懂之后您就明白,为什么开发安卓建议有dip这个单位了)
我们写布局的时候,肯定还是要知道1个dp到底有多少px的。
在安卓开发当中我们通过了此行代码获取了该手机的分辨率密度:
float density = getResources().getDisplayMetrics().density
px= density * dip
dip(dp): Density independent pixels ,设备无关像素。
px: 像素
dpi:dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度,简称密度
density : 直接翻译的话貌似叫 密度。常见取值 1.5 , 1.0 .
分辨率 : 横纵2个方向的像素点的数量(譬如:480X800。就是指屏幕上有多少个点)
屏幕尺寸: 屏幕对角线的长度。电脑电视同理。大小单位都是英寸。
其中:dpi和density是一样的,他们之间只是存在比例的问题。
入正题吧!
首先大家都知道,点组成了线,线连成了线,线组成了面。那么无可厚非点当然就是像素了。
这边我详细跟大家讲一下各个单位之间的换算。如果大家都能看懂,想必,对像素这些的基本概念也就一目了然了。
1.计算像素的密度(一英寸多少像素点级dpi)
比如一个手机,屏幕4寸,分辨率480X800,它的dpi能算么?
因为不知道边长,肯定不能分开算,4是对角线长度,那直接用勾股定理算对角线像素,除以4,算出来大概是 dpi = 233 像素/英寸。
那么density就是 (233 px/inch)/(160 px/inch)=1.46 左右(在这里就可以清楚的看到了dpi和desity之间就是个 比例的问题,这边您可以不用刻意去理解它)
顺带说下,android默认的只有3个dpi,low、medium和high,对应 120、160、240,如果没有特别设置,所有的dpi都会被算成这3个。
2. 计算 dp(设备无关像素)与 px (看懂之后您就明白,为什么开发安卓建议有dip这个单位了)
我们写布局的时候,肯定还是要知道1个dp到底有多少px的。
在安卓开发当中我们通过了此行代码获取了该手机的分辨率密度:
float density = getResources().getDisplayMetrics().density
px= density * dip
相关文章推荐
- zeromq系列
- Android-VitaMio框架使用记录
- Qt信号与槽关联的问题
- http状态码
- 经典提升算法——Adaboost
- 使用keepalived实现mysql主从复制的自动切换
- <软件体系结构>实验框架选择及其说明
- cocos-creator之setPosition坑
- Let there be Color!: Automatic Image Colorization with Simultaneous Classification - sig - 2016
- Android 通过Socket 和服务器通讯
- lucene学习笔记
- Pip安装
- log4j.properties配置详解
- ThinkPHP 项目目录结构
- java 数组之间的转换
- iOS 后端云服务
- linux 命令行wget直接安装jdk8
- ItemTouchHelper实现滑动删除和长按拖拽功能
- 网站HTTPS 实践(一): HTTPS协议和原理
- 剑指offer5,从尾到头打印链表