Android中Canvas的clipRect参数Region.OP的理解
来源:互联网 发布:php wms 编辑:程序博客网 时间:2024/04/27 17:24
一直对clipRect的op参数有点迷惑,今天好好实验了一下,总结得到如下结果:
为了方便说明,把第一次clipRect的绘制范围设为A,第二次clipRect设定的范围设为B
Op.DIFFERENCE,实际上就是求得的A和B的差集范围,即A-B,只有在此范围内的绘制内容才会被显示;
Op.REVERSE_DIFFERENCE,实际上就是求得的B和A的差集范围,即B-A,只有在此范围内的绘制内容才会被显示;;
Op.INTERSECT,即A和B的交集范围,只有在此范围内的绘制内容才会被显示;
Op.REPLACE,不论A和B的集合状况,B的范围将全部进行显示,如果和A有交集,则将覆盖A的交集范围;
Op.UNION,即A和B的并集范围,即两者所包括的范围的绘制内容都会被显示;
Op.XOR,A和B的补集范围,此例中即A除去B以外的范围,只有在此范围内的绘制内容才会被显示;
测试主要代码很简单如下:
canvas.save();
Rect rect = new Rect(20, 20, 200, 200);
canvas.clipRect(rect);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setStyle(Style.FILL);
canvas.drawRect(rect, paint);
Rect clip = new Rect(100, 100, 300, 300);
canvas.clipRect(clip, Op.XOR);
paint.setColor(Color.BLUE);
canvas.drawRect(clip, paint);
canvas.restore();
canvas.save(); Rect rect = new Rect(20, 20, 200, 200); canvas.clipRect(rect); Paint paint = new Paint(); paint.setColor(Color.BLACK); paint.setStyle(Style.FILL); canvas.drawRect(rect, paint); Rect clip = new Rect(100, 100, 300, 300); canvas.clipRect(clip, Op.XOR); paint.setColor(Color.BLUE); canvas.drawRect(clip, paint); canvas.restore();
原地址:http://www.hotapple.org/forum.php?mod=viewthread&tid=28
- Android中Canvas的clipRect参数Region.OP的理解
- Android中Canvas的clipRect参数Region.OP的理解
- android canvas.clipRect的Region.Op.XOR使用
- canvas的cliprect以及drawTextOnPath,Region.OP
- 关于Canvas的clipRect (float left, float top, float right, float bottom, Region.Op op) 中Region.Op
- android clipRect Op.xxx各个参数理解
- Android中的裁剪中Region.Op参数的用法
- Android学习之Canvas之clip方法的Region.Op参数学习
- Canvas的clipRect方法
- android绘图canvas.clipRect()方法的作用
- Android Canvas Region.Op中的Clip方式
- Android Canvas Region.Op中的Clip方式
- android中canvas的clipRect和concate调用顺序不同导致的图像效果不同。
- canvas.clipPath canvas.clipRect() 无效的原因
- Canvas中clipRect、clipPath和clipRegion 剪切区域的API
- android的ClipRect
- android path对象使用方法与Region.Op的解释
- Android画布使用Region.Op.XOR没有效果的原因
- 个别图片IE中无法显示问题
- .Net中,如何在页面上显示PDF文档
- listview获得每一项的点击,长按,滑动事件
- nginx+python+fastcgi环境配置(flup版本)
- android C/C++ source files 全局宏定义
- Android中Canvas的clipRect参数Region.OP的理解
- IOS开发UI篇之──键盘添加工具条
- malloc()与realloc()用法
- 每天工作4小时的程序员
- fcntl使用
- Oracle 10启动报告ORA-01092错误,需upgrade
- UITabBarController with hidden UITabBar
- JS鼠标事件大全
- VS2010检查内存泄漏 LeakDiag