【Android】Bitmap显示图像的缩放问题

在使用Bitmap进行位图读取和显示的时候须要注意在生成位图时,系统会根据不一样的状况来缩小、放大图像。java

当把图片放到drawable文件夹中时,160密度的模拟器显示的图像有放大效果,240密度的模拟器显示原尺寸的图像。code

当把图片放到drawable-hdpi文件夹中时,160密度的模拟器显示出的图像有缩小效果,240密度的模拟器显示原尺寸的图像。游戏

当把图片放到drawable-mdpi文件夹中时,160密度的模拟器显示原尺寸的图像,240密度的模拟器显示放大的图像。图片

当把图片放到drawable-ldpi文件夹中时,160、240密度的模拟器都显示放大的图片。get

由此能够看出,在使用Bitmap显示图像时,通常应放在drawable-hdpi文件夹中,这样能够根据屏幕的密度来调整图像大小,好比再作游戏时,大屏幕的与小屏幕的手机中,人物或物体应该有大小之分。it

若是想不管什么密度都显示出原尺寸的图像,则须要有以下几行代码进行设置:io

 

// Bitmap的配置参数
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inDensity = getResources().getDisplayMetrics().densityDpi;
opts.inTargetDensity = getResources().getDisplayMetrics().densityDpi;

// 以指定的参数建立Bitmap
Bitmap girl = BitmapFactory.decodeResource(getResources(), R.drawable.girl, opts);
相关文章
相关标签/搜索