首页新闻找找看学习计划

Polygon的fillrule问题

0
悬赏园豆:50 [已解决问题] 解决于 2011-11-23 22:42

我在Grid中用以下方法绘制了一个五角星:

                <Polygon Points="240 48,352 396,
                                 58 180,422 180,
                                 128 396"
                         Stroke="Red"
                         StrokeThickness="10"
                         Fill="Blue"
                         FillRule="Nonzero"/>

FillRule的枚举值Nonzero的定义是:

它从图形中的点沿任意方向画一条无限长的射线,然后检查形状段与该射线的交点计数从零开始,每当段从左向右跨过射线时增加 1,而每当路径段从右向左跨过射线时减去 1。计算交点的数目后,如果结果为零,则说明该点在路径外部。否则,它位于路径内部。

但是如图中所示,我选择的这个点画一条射线,他经过了两个线段,一个从左到右,加1;

另一个从右到左,减1,结果应该是0,为什么这个点会被填充了颜色呢?求解。

LeverLiu的主页 LeverLiu | 初学一级 | 园豆:160
提问于:2011-10-03 18:27
< >
分享
最佳答案
1

因为都是从线的同一侧穿过你画的那条线啊

收获园豆:50
neverser | 菜鸟二级 |园豆:255 | 2011-11-21 17:34

oh  mygod 明白了,想错了,多谢

LeverLiu | 园豆:160 (初学一级) | 2011-11-23 22:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册