Vini
Vini

Reputation: 977

Clear the canvas images or paint in android

I searched here lot of answers found but no one is worked like 1.Deleting a path from a canvas - Android 2.How to erase path area from canvas (Android).

my coding is:

mClear.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            drawView.clear();
            }
    });

public void init() {
    mPaint = new Paint();
    mPaint.setAntiAlias(true);
    mPaint.setColor(Color.GREEN);
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setStrokeJoin(Paint.Join.ROUND);
    mPaint.setStrokeCap(Paint.Cap.ROUND);
    mPaint.setStrokeWidth(3);
}

class DrawingView extends View {
    Path path;

    Bitmap mBitmap;

    Canvas mCanvas;

    public DrawingView(Context context) {
        super(context);
        path = new Path();
        mBitmap = Bitmap.createBitmap(820, 480, Bitmap.Config.ARGB_8888);
        mCanvas = new Canvas(mBitmap);
        this.setBackgroundColor(Color.WHITE);
    }

    public void clear() {
         path.reset();
         invalidate();
    }


    @Override
    public boolean onTouchEvent(MotionEvent event) {
        mCanvas.drawPath(path, mPaint);
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            path.moveTo(event.getX(), event.getY());
            path.lineTo(event.getX(), event.getY());
        } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
            path.lineTo(event.getX(), event.getY());
        }
        invalidate();
        return true;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawPath(path, mPaint);
    }
}

I tried for clearing some other like below:

mBitmap = Bitmap.createBitmap(820, 480, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);

i need some assist here..please give some idea to delete

Upvotes: 1

Views: 551

Answers (1)

Aravin
Aravin

Reputation: 4108

Try some thing like this in your clearing method like:

((YourDrawingClass)YourView).clear();

Upvotes: 1

Related Questions