canvas.drawBitmap操作的时候,为什么要先对原Bitmap进行Bitmap.createBitm
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 呢 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),bmp.getHeight(),matrix,true);主要是这里对Bitmap进行了加工处理,你看这一部分
Matrixmatrix=newMatrix();
matrix.postScale(0.8f,0.8f);
matrix.postRotate(45);
都是一些要改变的参数。 |
|
|
|
|