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
有个需求类似:
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
相关文章推荐
- 详解HTML5 Canvas绘制时指定颜色与透明度的方法
- Android实现扫一扫功能之绘制指定区域透明区域
- Android中实现绘制图片指定区域
- android中使用Canvas绘制指定位置和宽高度的图片
- android中使用Canvas绘制指定位置和宽高度的图片
- android 用canvas 绘制简单圆形时钟
- Android画布和图形绘制---Canvas and Drawables(三)
- Android canvas 绘制实心圆
- android Canvas绘制图片模糊
- android:Canvas绘制自旋转Bitmap
- canvas绘制直线时颜色填不上去的问题及如何开始绘制扇形举例
- Android自定义组件系列【9】——Canvas绘制折线图
- Android 绘制一个Loading动画__向图片中缓慢填充颜色,从而形成动画效果
- android中Canvas使用drawBitmap绘制图片
- HTML5 canvas 绘制矩形 改变矩形颜色
- android:点击popupwindow以外区域 popupwindow自动消失
- Android自定义View(五)_Canvas之绘制基本形状
- Android Canvas绘制丘比特之箭
- android 用canvas 绘制简单圆形时钟
- android中Canvas使用drawBitmap绘制图片