为了账号安全,请及时绑定邮箱和手机立即绑定

canvas.drawBitmap操作的时候,为什么要先对原Bitmap进行Bitmap.createBitmap操作

canvas.drawBitmap操作的时候,为什么要先对原Bitmap进行Bitmap.createBitmap操作

China丰 2017-07-09 12:31:56
canvas.drawBitmap操作的时候,为什么要先对原Bitmap进行Bitmap.createBitmap操作,创建副本,而不是直接在原来的Bitmap上面操作。比如实现一个缩放旋转Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);   Matrix matrix=new Matrix(); matrix.postScale(0.8f, 0.8f); matrix.postRotate(45); Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),bmp.getHeight(),matrix,true); canvas.drawColor(Color.BLACK);  canvas.drawBitmap(dstbmp, 10, 10, null);为什么要创建一个dstbmp副本了,然后在上面操作,而不是直接操作bmp 呢
查看完整描述

1 回答

?
为梦想努力_冬

TA贡献56条经验 获得超14个赞

Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),bmp.getHeight(),matrix,true);主要是这里对Bitmap进行了加工处理,你看这一部分

Matrix matrix=new Matrix();

matrix.postScale(0.8f, 0.8f);

matrix.postRotate(45);

都是一些要改变的参数。

查看完整回答
反对 回复 2017-07-17
  • 1 回答
  • 0 关注
  • 3608 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信