码迷,mamicode.com
首页 > 移动开发 > 详细

android 通过bitmapfactory得到图片真实像素的方法,以及没有得到真实像素的原因

时间:2015-07-22 14:47:46      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

原文来自:原文地址

因为这个错误导致浪费很长时间找原因,所以要赶紧记录下来。

过程是这样的,在使用android读取图片的时候,就是使用BitmapFactory.decodeResource(this.getResources(),R.drawable.base)的时候

返回的图片大小和真实图片大小不一样有木有,比如图片是700*450的, 但读出来是525*337的。如果有遇到过此类情况,请往下看

这个错误,只能怪咱们学艺不精,原因就是你没在相应的资源文件夹里放图片就是 (drawable-ldpi mdpi ldpi),你肯定只放了一个文件夹

举个实例,比如图片A 700*450只放在mdpi里,这时候安卓会先判断屏幕的dpi 如果是120 它就去ldpi找 ,如果是160就去mdpi,如果是240就去hdpi

如果它去找了ldpi发现你没图片,它就去mdpi了, 但它会把图片缩放成525*337大概这个分辨率。 算法是 700*0.75 450*0.75  = 525 * 337

看到这里如果你不太明白这些数字杂回事,请去了解一下 dpi 密度, dpi和像素的关系等等.

说下解决办法,目前我是把图片复制到了所有的图片文件夹里.这样它就会找到相应的了。得到的图片的宽 高也就正常了

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

android 通过bitmapfactory得到图片真实像素的方法,以及没有得到真实像素的原因

标签:

原文地址:http://blog.csdn.net/u010399316/article/details/47001265

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!