Android 如何用手指清洁画布区域

Android 如何用手指清洁画布区域,android,bitmap,android-canvas,paint,Android,Bitmap,Android Canvas,Paint,我有两个图像视图,一个是画廊图像,一个是透明图像,在第二个图像上画画布,我想用手指清洁那个透明图像 我试着做我喜欢的事 链接: 我尝试下面的代码 公共类MainActivity将活动实现扩展到TouchListener{ ImageView image,transimage; Paint paint; Bitmap bitmap,resultbitmap; Canvas canvas; Button clear; @Override protected void onCreate(Bun

我有两个图像视图,一个是画廊图像,一个是透明图像,在第二个图像上画画布,我想用手指清洁那个透明图像

我试着做我喜欢的事 链接:

我尝试下面的代码

公共类MainActivity将活动实现扩展到TouchListener{

ImageView image,transimage;
 Paint paint;
 Bitmap bitmap,resultbitmap;
 Canvas canvas;
 Button clear;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    image=(ImageView)findViewById(R.id.imageView1);
    transimage=(ImageView)findViewById(R.id.imageView2);

    //Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.saibaba);
       Bitmap mBitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.snw);
       Bitmap bmOverlay = Bitmap.createBitmap(mBitmap2.getWidth(), mBitmap2.getHeight(), mBitmap2.getConfig());
       Canvas canvas = new Canvas();
       canvas.setBitmap(bmOverlay);
       paint=new Paint();
         paint.setAlpha(200);
      // canvas.drawBitmap(mBitmap, 0, 0, null);
       canvas.drawBitmap(mBitmap2, 0, 0, paint);
       transimage.setImageBitmap(bmOverlay);
} }


如何用手指清洁画布

只需在方法onDraw上设置Color=Transparent。这是经过测试的代码,正在运行

 @Override
            protected void onDraw(Canvas canvas) {

                if(isEraseMode){
                    paint.setColor(Color.TRANSPARENT);
                    canvas.drawPath(eraserPath, erasePaint);
                     //canvas.save();
                }else{
                    canvas.drawPath(path, paint);
                     canvas.restore();
                }
                 canvas.drawPath(path, paint);

                    super.dispatchDraw(canvas);

            }

希望这对你有帮助:

@priyanaka我不知道