android canvas 绘制 Cirle 以外的区域为指定颜色

今天的内容主要是android.graphics.PorterDuff.Mode

有个需求类似:

canvas上绘制圆以外的区域为alpha透明度的黑色,圆内区域为透明:

实现原理很简单,就是把整个canvas画成alpha透明度的黑色,,

canvas.drawARGB(alpha, 0, 0, 0);

然后抠空圆形区域。

//创建画笔

Paint mPaint = new Paint();

//设置画笔style为画实心的

mPaint.setStyle(Style.FILL_AND_STROKE);

//set mode为clear

mPaint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.CLEAR));

关于叠加mode的说明,可参照

爱情唯美短句子

android canvas 绘制 Cirle 以外的区域为指定颜色

相关文章:

你感兴趣的文章:

标签云: