Reputation: 27
I implemented custom ShowCase for activity
I am trying to draw on canvas mask: https://i.sstatic.net/u23kQ.png
Following this code:
mCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
// draw solid background
mCanvas.drawColor(mMaskColour);
// Prepare eraser Paint if needed
if (mEraser == null) {
mEraser = new Paint();
mEraser.setColor(0xFFFFFFFF);
mEraser.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
mEraser.setFlags(Paint.ANTI_ALIAS_FLAG);
}
// draw (erase) shape
// mShape.draw(mCanvas, mEraser, mXPosition, mYPosition, mShapePadding);
mCanvas.drawBitmap(cBitmap,mXPosition,mYPosition,mEraser);
// Draw background
canvas.drawBitmap(mBitmap, 0, 0, null);
But it appears like this:
https://i.sstatic.net/MhcOt.png
Upvotes: 0
Views: 229
Reputation: 27
I solve this
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mCanvas.drawBitmap(cBitmap,mXPosition,mYPosition,paint);
// mShape.draw(canvas, mEraser, mXPosition, mYPosition, mShapePadding);
// Draw the bitmap on our views canvas.
canvas.drawBitmap(mBitmap, 0, 0, null);
Upvotes: 1