是我对你自由过了火:android bit map getwidth 大小不正确 位图不符合的问题
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 08:27:44
android bit map getwidth 大小不正确
jennfier初学者
- 帖子
- 6
- 精华
- 0
- 积分
- 10
- 最后访问
- 2011-06-24
- 个人空间
- 发短消息
- 当前离线
android bit map getwidth 大小不正确
Resources r = this.getContext().getResources();Bitmap bmp;
bmp = BitmapFactory.decodeResource(r , R.drawable.green_point);
Log.d("XXXX", "bmp widht = " + bmp.getWidth());
实际大小是32, 得到的大小却是48, 被放大, 请问这是为什么。
- 帖子
- 6
- 精华
- 0
- 积分
- 10
- 阅读权限
- 10
- 性别
- 保密
- 在线时间
- 1 小时
- 注册时间
- 2011-06-22
- 最后访问
- 2011-06-24
查看详细资料
TOP
jennfier初学者
- 帖子
- 6
- 精华
- 0
- 积分
- 10
- 最后访问
- 2011-06-24
- 个人空间
- 发短消息
- 当前离线
此问题主要是因为android density 问题引起的。
首先先确定的density 值。
// 通过这个类API可以得到屏幕的分辨率(通过DisplayMetrics类,可以得到屏幕的物理信息)
DisplayMetrics dm = new DisplayMetrics();
// 回调方法取得屏幕信息
getWindowManager().getDefaultDisplay().getMetrics(dm);
Log.d("Tank", "dm.densityDpi =" + dm.densityDpi + "dm.density" + dm.density + "dm.scaledDensity" + dm.scaledDensity );
densityDpi = 120 时, 使用的是drawable-ldpi 里面的内容
densityDpi = 160时, 使用的是drawable-mdpi 里面的内容
densityDpi = 240时, 使用的是drawable-hdpi 里面的内容
如果你的在drawable-hdpi 里面没有资源, 他会根据drawable-mdpi里的资源自动去放大。 所以就会导致得到的值和实际的不同。
如果实在没有,符合的,可以通过下面的方法解决, 带来的副作用,就是,存在正确的分辨率图片,将产生失真
// dm = new DisplayMetrics(); // context.getWindowManager().getDefaultDisplay().getMetrics(dm); // bgBitMap.setDensity((int)(bgBitMap.getDensity()*dm.density+0.5f));// pointerMap.setDensity((int)(pointerMap.getDensity()*dm.density+0.5f));
- 帖子
- 6
- 精华
- 0
- 积分
- 10
- 阅读权限
- 10
- 性别
- 保密
- 在线时间
- 1 小时
- 注册时间
- 2011-06-22
- 最后访问
- 2011-06-24
查看详细资料
TOP
paranoid android中文歌词
radiohead 的 Paranoid Android 中文翻译
mag10.map
什么是MAP
MAP是什么意思?
传奇世界map
map hack```
关于google map
map google么样用啊
谁有super map
什么是map文件
Las vegas map
CS1.5wap-map
MAP是什么化肥??
怎么下载map歌词
丁家宜MAP温和性是温性洁面乳吗
怎样下载google map?
G-MAP平台
*.map是什么文件?
[/1092.map]
哪里有map下载
.map是什么类型文件?
1001map在那里下载
星际争霸MAP的用法?