android 资源图片转bitmap会压缩bug

将资源图片转bitmap,原代码:

Bitmap bm1=BitmapFactory.decodeResource(getResources(), R.drawable.img);

上述代码会导致图片在不同资源文件下面会压缩

放到res/drawable-mdpi下放大了1.5倍 

放到res/drawable-xhdpi下缩小了1.3倍 

放到res/drawable-xxdpi下缩小了2倍 

原因:

电脑上图片尺寸,单位是像素。Android手机的屏幕分ldpi、mdpi、hdpi,甚至还有xhdpi,对于mdpi(density=160)设备,1dp=1px,对于hdpi(density=240)的设备,1dp=1.5px。所以,把图片放在了res/drawable-mdpi目录下,而运行的Android设备屏幕属于hdpi,导致图片尺寸会扩大1.5倍。

解决办法:

修改上述代码,设置缩放为false:

BitmapFactory.Options bfoOptions =newBitmapFactory.Options();

bfoOptions.inScaled =false;

Bitmap img1 = BitmapFactory.decodeResource(getResources(), R.drawable.img, bfoOptions);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。