像素和dip之间的相互转换

原创 2012年03月31日 09:47:02

android不同屏幕之间像素和dip的转换比例是不一样的:

    2 px = 3 dip if dpi == 80(ldpi), 320x240 screen
    1 px = 1 dip if dpi == 160(mdpi), 480x320 screen
    3 px = 2 dip if dpi == 240(hdpi), 840x480

方法:

          // dip转像素
	public int DipToPixels(Context context, int dip) {
		final float SCALE = context.getResources().getDisplayMetrics().density;

		float valueDips = dip;
		int valuePixels = (int) (valueDips * SCALE + 0.5f);

		return valuePixels;

	}

	// 像素转dip
	public float PixelsToDip(Context context, int Pixels) {
		final float SCALE = context.getResources().getDisplayMetrics().density;

		float dips = Pixels / SCALE;

		return dips;

	}


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android中dip(dp)与px之间单位转换

Android中dip(dp)与px之间单位转换 dp这个单位可能对web开发的人比较陌生,因为一般都是使用px(像素) 但是,现在在开始android应用和游戏后,基本上都转换成用dp作用为单位...
  • gf771115
  • gf771115
  • 2012年11月27日 15:03
  • 10967

移动端web页面知识小结之像素、物理像素、逻辑像素

一直以来,本人对移动端分辨率、像素等概念傻傻分不清,特查阅多位牛人博客后总结如下要点,以便日后查看。 文档来源http://weizhifeng.net/you-should-know-about-d...

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

一、基本概念 dip        : Density independent pixels ,设备无关像素。 dp        :就是dippx        : 像素dpi       :do...

C++ vector.data()

T* data() noexcept const T* data() const noexcept 返回指向vector中第一个数据的指针或空vector之后的位置 ...

双边滤波器的原理及实现

CSDN如何转载别人文章啊?!!! 悲剧只能复制黏贴了 这个老兄的地址是:http://blog.csdn.net/abcjennifer/article/details/7616663 ...

Android : dip/dp与px(pixel)之间的相互转换

原文:http://blog.sina.com.cn/aoyousatuo

Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释

px(Pixels ,像素):对应屏幕上的实际像素点。 in(Inches ,英寸):屏幕物理长度单位。 mm(Millimeters ,毫米):屏幕物理长度单位。 pt(Points ,磅):...
  • xxxsz
  • xxxsz
  • 2012年04月28日 19:27
  • 2771

Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释

这些术语都是指屏幕的分辨率。  VGA:Video Graphics Array,即:显示绘图矩阵,相当于640×480 像素;  HVGA:Half-size VGA;即:VGA的一半,分辨率为...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:像素和dip之间的相互转换
举报原因:
原因补充:

(最多只允许输入30个字)