Android开发笔记之Bitmap的放缩

百度搜索了几种方法。最后找到一个可用的方法:
Matrix matrix = new Matrix();
matrix.postScale(2.5f,3.5f);
Bitmap resizeBmp = Bitmap.createBitmap(bm,0,0,bm.getWidth(),bm.getHeight(),matrix,true);
其中2.5f和3.5f分别是x,y对应的放大倍数。 这里的bm是放大前的Bitmap类型图片。
resizeBmp是放大后的bitmap。
如果想要适应性放大的话,可以更改matrix.postScale里面的放大倍数。
因为里面是float类型。
可以用:
float dx=(float)目标宽度/当前宽度;   的这种形式来进行适应性的放大。比如我的代码:
 
  
float dw = (float)GameDB.mImageIds.get(0).getWidth()/bm.getWidth();
float dh = (float)GameDB.mImageIds.get(0).getHeight()/bm.getHeight();
其中,GameDB.mImageIds.get(0).getWidth()为最后放大到的宽度,bm.getWidth()为当前bitmap的宽度。
之后替换矩阵里面的放大倍数  matrix.postScale(dw, dh);
然后重画bitmap即可。
即  Bitmap resizeBmp = Bitmap.createBitmap(bm,0,0,bm.getWidth(),bm.getHeight(),matrix,true);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小公子三木君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值