首页 > 移动平台 > 详细

[转]Android Path里FillType功能

时间:2014-03-12 16:19:55      阅读:1178      评论:0      收藏:0      [点我收藏+]

  对于简单的封闭图形(路径无相交的现象),图形的外部和内部和容易判断,但如果路径有相交的情况,对应重叠的部分,使用不同的填充模式,内部和外部的定义有所不同。填充模式可以分为两类:

EVEN_ODD 意味着如果用一条直线横贯图形时,外部和内部交替出现。
WINDING 对应一条曲线C和指定点P,创建一条由P出发的任意方向无限延伸的直线。找到曲线C和这条直线的所有交点。计算所有由顺时针方向和曲线相交的交点的个数,再计算由逆时针方向和曲线相交的个数,如果两个数相等,表示这个点在曲线内部,如果不等,表示这个点在曲线外部。

bubuko.com,布布扣

Android的Path.FillType除了支持上面两种模式外,还支持了上面两种模式的反模式,一共定义了EVEN_ODD, INVERSE_EVEN_ODD, WINDING, INVERSE_WINDING 四种模式。

本例的基本图形为两个相交的圆,使用了上述四种模式来填充图形:

 

bubuko.com,布布扣
showPath(canvas, 0, 0, Path.FillType.WINDING, paint);  
showPath(canvas, 160, 0, Path.FillType.EVEN_ODD, paint);  
showPath(canvas, 0, 160, Path.FillType.INVERSE_WINDING, paint);  
showPath(canvas, 160, 160, Path.FillType.INVERSE_EVEN_ODD, paint); 
bubuko.com,布布扣

bubuko.com,布布扣

[转]Android Path里FillType功能,布布扣,bubuko.com

[转]Android Path里FillType功能

原文:http://www.cnblogs.com/coding-way/p/3595653.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!