概念:

dpi(Dots Per Inch):每英寸上的点数,最初用于衡量打印物上每英寸的点数密度,打印机在一英寸内打多少个点。DPI值越小越不精细。

ppi(Pixels Per Inch):每英寸上的像素点数量,当DPI的概念用在电子屏幕上时,就应称之为ppi。

对于开发者而言dpi就是ppi,ppi就是dpi,两者统称为屏幕密度。

px(Pixel):像素单位。

dp(device independent pixels):也就是dip(设备独立像素),Android系统中的长度单位。

分辨率:是屏幕图像的精密度,是指屏幕所能显示的像素有多少。

设A屏的像素密度为dA,B屏的像素密度为dB,A屏中的La px长度在B屏中应该缩放为Lb px,A屏宽度为Wa,B屏宽度为Wb。依据相同的缩放比例,有

令X = La*(Wb/Wa),Y =  Lb,又dA = 160

于是X = Y / (dB / 160),谷歌规定X的单位为dp,所以从单位上看有等式

dp = px /(dB / 160)

若用ppi表示dB,就有了所谓的公式dp = px / (ppi / 160)

显然,对于同一张图片,在密度不同的屏幕上,要展示的图片大小px是不同的,

故开发时一般用dp作单位,因为dp可以自动适应不同屏幕密度的手机

dp、px、dpi、ppi的更多相关文章

  1. Android开发中dp、dpi、px的区别(转)

    一.基本概念 - dp:安卓中的相对大小 - dpi:(dot per inch)每英寸像素多少 - px:像素点 二.详细说明 1.px和dpi - px: 平常所说的1920×1080只是像素数量 ...

  2. UI设计中px、pt、ppi、dpi、dp、sp之间的关系

    UI设计中px.pt.ppi.dpi.dp.sp之间的关系 武汉AAA数字艺术教育 2015-07-24 14:19:50 职业教育 pi px 阅读(3398) 评论(0) 声明:本文由入驻搜狐公众 ...

  3. 屏幕适配基础——了解:ppi、dpi、px、sp、dp

    做android开发绕不开的几个名词:ppi.dpi.px.sp.dp.那么它们的定义.区别和联系都是什么呢?这篇博客系统的做一个概述和总结. 1.基本概念 px:pixel,像素,电子屏幕上组成一幅 ...

  4. px(像素)、pt(点)、ppi、dpi、dp、sp之间的关系

    px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt:point,点,印刷行业常用单位,等于1/72英寸 ppi:pixel per inch,每英寸像素数,该值越高,则屏幕越细腻 ...

  5. Android dp、dip、dpi、px、sp简介及相关换算,及其应用实例

    屏幕分辨率:在x y轴上的像素点数.单位是px,1px=1个像素点.一般以    纵向像素×横向像素    表示,如1920*1080dpi--------------------------每英寸上 ...

  6. H5开发基础之像素、分辨率、DPI、PPI

    H5开发基础之像素.分辨率.DPI.PPI  html5  阅读约 4 分钟 ​2016-09-03于坝上草原 背景知识: 目前绝大部分显示器都是基于点阵的,通过一系列的小点排成一个大矩形,通过每个小 ...

  7. Android上dip、dp、px、sp等单位说明(转)

    dip  device independent pixels(设备独立像素). 不同设备不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素. 在 ...

  8. Android上dip、dp、px、sp等单位说明

    Android上dip.dp.px.sp等单位说明 dip  device independent pixels(设备独立像素). 不同设备不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA ...

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

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

随机推荐

  1. rabbitMQ学习(六)

    请求模式 客户端: import com.rabbitmq.client.ConnectionFactory; import com.rabbitmq.client.Connection; impor ...

  2. 使用ssh连接远程主机

    在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的. ssh登录远程主机(服务器)一般有两种方式:无密钥方式  ...

  3. Android SDK的安装与环境变量配置

    配置Andriod环境变量前提是要先安装好JAVA环境 1.下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/ind ...

  4. MATLAB 文件对话框之图片格式转换

    localpathname为当前路径,需要保存图片的位置,根据自己的实际路径设置,usedpathname用来保存打开的文件位置,方便下次打开文件对话框以上次的路径为默认路径. global used ...

  5. php中的魔术方法

    __construct 构造器是一个魔术方法,当对象被实例化时它会被调用.在一个类声明时它常常是第一件做的事但是没得必要他也像其他任何方法在类中任何地方都可以声明,构造器也能像其他方法样继承.如果我们 ...

  6. 怎样增强MyEclipse的代码自动提示功能

    步骤/方法 1 一 般在Eclipse ,MyEclipse代码里面,打个foreach,switch等 这些,是无法得到代码提示的(不信自己试试),其他的就更不用说了,而在Microsoft Vis ...

  7. python的rename原来这么用

    本来想实践应用一下如何批量修改,后来一想怎么那么麻烦,连最基本都都不会,简化到这份上再慢慢复杂之 一开始用help(os.rename)查了该方法的用法, 出来的解释太简单了,以为路径用的是和wind ...

  8. 研究SVM时安装的一些工具的方法

    本文是个人存档,不介绍研究SVM相关内容. 1.bamboo在fedora19下 哪一行编译时报错,就注释掉 php插件不用装 提示ERROR: libcrfpp.so.0: cannot open ...

  9. angularJs基础

    AngularJs是为了克服Html在构建应用上的不足而设计的.Html是一门很好的为静态文件展示设计的声明式语言,但是要构建web应用的话就显得乏力了.所以我做了一些工作来让浏览器做我瞎向要的事. ...

  10. DataSet读取数据

    using System.Data; using System.Data.SqlClient; namespace ConsoleApplication3 { class Program { stat ...