首页 新闻 会员 周边 捐助

为什么android中Bitmap的getWidth()返回的图片宽度是图片像素的1.5倍,getHeight()也是。

0
悬赏园豆:10 [已解决问题] 解决于 2013-03-21 10:50
1 BitmapDrawable bd = (BitmapDrawable)getResources().getDrawable(R.drawable.img);
2 Bitmap bmp = bd.getBitmap();
3 
4 int width = bmp.getWidth();
5 int height = bmp.getHeight();

图片信息是这样的:

返回的width和height都是600,正好1.5倍。其它图片也是1.5倍。

Android SDK上对这俩函数也没有特别说明,郁闷。

问题补充:

求高手解惑

pointer2011的主页 pointer2011 | 初学一级 | 园豆:187
提问于:2013-03-05 22:04
< >
分享
最佳答案
0

400*400是电脑上看到的尺寸,单位是像素。Android手机的屏幕分ldpi、mdpi、hdpi,甚至还有xhdpi,对于mdpi(density=160)设备,1dp=1px,对于hdpi(density=240)的设备,1dp=1.5px。So,如此来看,你是把图片放在了res/drawable-mdpi目录下,而运行的Android设备屏幕属于hdpi,所以才会扩大1.5倍。Tips:现在的Android设备一般都在hdpi及以上,所以建议把图片资源主要放在hdpi中。

收获园豆:10
陌上幽人 | 菜鸟二级 |园豆:212 | 2013-03-09 22:16

谢谢,很受用

pointer2011 | 园豆:187 (初学一级) | 2013-03-21 10:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册