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);
都是一些要改变的参数。
- 1 回答
- 0 关注
- 3600 浏览
添加回答
举报
0/150
提交
取消