具有透明活动的画布上的蒙版位图 [英] Masked bitmap on canvas with transparent activity
本文介绍了具有透明活动的画布上的蒙版位图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我为活动实现了自定义ShowCase
I implemented custom ShowCase for activity
我正在尝试在帆布面具上绘画: http://i.stack.imgur.com/u23kQ.png
I am trying to draw on canvas mask: http://i.stack.imgur.com/u23kQ.png
遵循以下代码:
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);
但是它看起来像这样:
http://i.stack.imgur.com/MhcOt.png
推荐答案
我解决了
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);
这篇关于具有透明活动的画布上的蒙版位图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文