113113![ ] ( http://ww2.sinaimg.cn/large/005Xtdi2jw1f42368af2jj308c0dwt8z.jpg )
114114
115115>
116- > P1: 从P1点发出一条射线,沿射线防线移动 ,并没有与边相交点部分,环绕数为0,故P1在图形外边。<br />
117- > P2: 从P2点发出一条射线,沿射线方向移动,与图形点左侧边相交,该边从左到右穿过穿过射线 ,环绕数-1,最终环绕数为-1,故P2在图形内部。<br />
116+ > P1: 从P1点发出一条射线,沿射线方向移动 ,并没有与边相交点部分,环绕数为0,故P1在图形外边。<br />
117+ > P2: 从P2点发出一条射线,沿射线方向移动,与图形点左侧边相交,该边从左到右穿过射线 ,环绕数-1,最终环绕数为-1,故P2在图形内部。<br />
118118> P3: 从P3点发出一条射线,沿射线方向移动,在第一个交点处,底边从右到左穿过射线,环绕数+1,在第二个交点处,右侧边从左到右穿过射线,环绕数-1,最终环绕数为0,故P3在图形外部。<br />
119119
120120通常,这两种方法的判断结果是相同的,但也存在两种方法判断结果不同的情况,如下面这种情况:
@@ -144,7 +144,7 @@ Android中的填充模式有四种,是封装在Path中的一个枚举。
144144
145145我们可以看到上面有四种模式,分成两对,例如 "奇偶规则" 与 "反奇偶规则" 是一对,它们之间有什么关系呢?
146146
147- Inverse 和含义是 “相反,对立”,说明反奇偶规则刚好与奇偶规则相反,例如对于一个矩形而言,使用奇偶规则会填充矩形内部,而使用反奇偶规则会填充矩形外部,这个会在后面示例中代码展示两者对区别 。
147+ Inverse 的含义是 “相反,对立”,说明反奇偶规则刚好与奇偶规则相反,例如对于一个矩形而言,使用奇偶规则会填充矩形内部,而使用反奇偶规则会填充矩形外部,这个会在后面示例中代码展示两者的区别 。
148148
149149#### Android与填充模式相关的方法
150150
@@ -176,7 +176,7 @@ Inverse 和含义是“相反,对立”,说明反奇偶规则刚好与奇偶
176176 path. addRect(- 200 ,- 200 ,200 ,200 , Path . Direction . CW ); // 给Path中添加一个矩形
177177```
178178
179- 下面两张图片分别是在奇偶规则于反奇偶规则的情况下绘制的结果 ,可以看出其填充的区域刚好相反:
179+ 下面两张图片分别是在奇偶规则与反奇偶规则的情况下绘制的结果 ,可以看出其填充的区域刚好相反:
180180
181181> PS: 白色为背景色,黑色为填充色。
182182
@@ -214,7 +214,7 @@ Inverse 和含义是“相反,对立”,说明反奇偶规则刚好与奇偶
214214
215215### 布尔操作(API19)
216216
217- 布尔操作与我们中学所学的集合操作非常像,只要知道集合操作中等交集 ,并集,差集等操作,那么理解布尔操作也是很容易的。
217+ 布尔操作与我们中学所学的集合操作非常像,只要知道集合操作中的交集 ,并集,差集等操作,那么理解布尔操作也是很容易的。
218218
219219** 布尔操作是两个Path之间的运算,主要作用是用一些简单的图形通过一些规则合成一些相对比较复杂,或难以直接得到的图形** 。
220220
@@ -257,7 +257,7 @@ Path的布尔运算有五种逻辑,如下:
257257
258258#### 布尔运算方法
259259
260- 通过前面到理论知识铺垫 ,相信大家对布尔运算已经有了基本的认识和理解,下面我们用代码演示一下布尔运算:
260+ 通过前面的理论知识铺垫 ,相信大家对布尔运算已经有了基本的认识和理解,下面我们用代码演示一下布尔运算:
261261
262262在Path中的布尔运算有两个方法
263263
@@ -268,7 +268,7 @@ Path的布尔运算有五种逻辑,如下:
268268
269269两个方法中的返回值用于判断布尔运算是否成功,它们使用方法如下:
270270
271- ``` ` java
271+ ``` java
272272 // 对 path1 和 path2 执行布尔运算,运算方式由第二个参数指定,运算结果存入到path1中。
273273 path1. op(path2, Path . Op . DIFFERENCE );
274274
@@ -334,7 +334,7 @@ Path的布尔运算有五种逻辑,如下:
334334| 参数 | 作用 |
335335| ------ | ------------------------------- |
336336| bounds | 测量结果会放入这个矩形 |
337- | exact | 是否精确测量,目前这一个参数作用已经废弃,一般写true即可。 |
337+ | exact | 是否精确测量,目前这一个参数作用已经废弃,一般写true即可 |
338338
339339关于exact如有疑问可参见Google官方的提交记录[ Path.computeBounds()] ( https://code.google.com/p/android/issues/detail?id=4070 )
340340
@@ -369,7 +369,7 @@ Path的布尔运算有五种逻辑,如下:
369369
370370### 重置路径
371371
372- 重置Path有两个方法,分别是reset和rewind,两者区别主要有一下两点 :
372+ 重置Path有两个方法,分别是reset和rewind,两者区别主要有以下两点 :
373373
374374| 方法 | 是否保留FillType设置 | 是否保留原有数据结构 |
375375| ------ | :------------: | :--------: |
@@ -385,7 +385,7 @@ _因为“FillType”影响的是显示效果,而“数据结构”影响的
385385
386386## 总结
387387
388- Path中常用的方法到此已经结束,希望能够帮助大家加深对Path对理解运用 ,让大家能够用Path愉快的玩耍。( ̄▽ ̄)
388+ Path中常用的方法到此已经结束,希望能够帮助大家加深对Path的理解运用 ,让大家能够用Path愉快的玩耍。( ̄▽ ̄)
389389
390390(,,• ₃ •,,)
391391#### PS: 由于本人水平有限,某些地方可能存在误解或不准确,如果你对此有疑问可以提交Issues进行反馈。
0 commit comments