关于Drawable和BitmapDrawable得到的图片大小问题

同样一张图片 大小是:720*1860, 手机设备的是densitydpi 为320

感觉好迷茫啊,不知道为什么,迷茫了好几天了,有没有大神给解答一下,小女子不胜感激。

1. 放到raw 里面,得到宽度竟然是1440

Drawable dr = getResources().getDrawable(R.raw.test_1);
int wid = dr.getIntrinsicWidth();               //1440
BitmapDrawable bit_dr = (BitmapDrawable)dr;
wid = bit_dr.getBitmap().getWidth();         // 1440


2. 通过网络获取这张图片,通过文件流写到内存卡上,再从内存卡读取

BitmapDrawable drawable = new BitmapDrawable(res, dir + File.separator + OtherUtils.md5_code(url));
int width = drawable.getBitmap().getWidth();
Log.i("drawable.getBitmap().getWidth()", width + "");      //打印结果是720
width = drawable.getIntrinsicWidth();          
Log.i("drawable.getIntrinsicWidth()", width + "");      //打印结果是360
width = drawable.getBitmap().getScaledWidth(res.getDisplayMetrics().densityDpi);
Log.i("drawable.getBitmap().getScaledWidth", width + "");    //打印结果是720

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值