灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2173回复:0

Android Bitmap显示图像的缩放问题

楼主#
更多 发布于:2012-09-06 13:44


在使用Bitmap进行位图读取和显示的时候需要注意在生成位图时,系统会根据不同的情况来缩小、放大图像。
当把图片放到drawable文件夹中时,160密度的模拟器显示的图像有放大效果,240密度的模拟器显示原尺寸的图像。
当把图片放到drawable-hdpi文件夹中时,160密度的模拟器显示出的图像有缩小效果,240密度的模拟器显示原尺寸的图像。
当把图片放到drawable-mdpi文件夹中时,160密度的模拟器显示原尺寸的图像,240密度的模拟器显示放大的图像。
当把图片放到drawable-ldpi文件夹中时,160、240密度的模拟器都显示放大的图片。
由此可以看出,在使用Bitmap显示图像时,一般应放在drawable-hdpi文件夹中,这样可以根据屏幕的密度来调整图像大小,比如再做游戏时,大屏幕的与小屏幕的手机中,人物或物体应该有大小之分。
如果想无论什么密度都显示出原尺寸的图像,则需要有如下几行代码进行设置:

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

6
// 以指定的参数创建Bitmap
7
Bitmap girl = BitmapFactory.decodeResource(getResources(), R.drawable.girl, opts);





喜欢0 评分0
游客

返回顶部