Android 如何用手指清洁画布区域
我有两个图像视图,一个是画廊图像,一个是透明图像,在第二个图像上画画布,我想用手指清洁那个透明图像 我试着做我喜欢的事 链接: 我尝试下面的代码 公共类MainActivity将活动实现扩展到TouchListener{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
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我不知道