12.18android绘图,橡皮擦
16lz
2021-01-26
百度上找到的:
package com.yunxunzh.wlyxh100.view;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.drawable.BitmapDrawable;import android.view.MotionEvent;import android.view.View;import com.yunxunzh.wlyxh100.R;public class DrawEraser extends View {private final static String TAG = "DrawView";private int x = 0;private int y = 0;private int r = 0;private Paint mPaint = null;Bitmap bitmap = null;Canvas mcanvas = null;public DrawEraser(Context context ) {super(context);//设置背景,如果不设置,擦掉后变白setBackgroundDrawable(new BitmapDrawable(BitmapFactory.decodeResource(getResources(),R.drawable.welcome_bg)));mPaint = new Paint();mPaint.setAlpha(0);mPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));mPaint.setAntiAlias(true);Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.welcome_bg);bitmap = Bitmap.createBitmap(300, 400, Config.ARGB_8888);mcanvas = new Canvas();mcanvas.setBitmap(bitmap);mcanvas.drawBitmap(bm, 0, 0, null);this.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {x = (int) event.getX();y = (int) event.getY();r = (int) 20;invalidate();return true;}});}@Overrideprotected void onDraw(Canvas canvas) {mcanvas.drawCircle(x, y, r, mPaint);canvas.drawBitmap(bitmap, 0, 0, null);super.onDraw(canvas);}}
更多相关文章
- Android(安卓)动态设置布局文件的exception
- Android安卓开发 带删除按钮的EditText
- 侧滑菜单(二)
- ListView中一些效果的实现
- activity添加切换动画之后出现的黑色背景问题
- 安卓自定义View实现扇形图表
- OKhttp上传头像,调用相机相册进行裁剪
- MediaTest
- Android——ImageView设置圆形边框