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上对这俩函数也没有特别说明,郁闷。
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中。
谢谢,很受用