您的位置:首页 > 移动开发 > Android开发

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

2014-03-02 16:54 423 查看
今天的内容主要是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的说明,可参照

http://www.cnblogs.com/DonkeyTomy/articles/3215137.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: