我有一个PathGeometry定义了一些路径,就像这个:
原始路径 http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/original.gif
这只是一个简化的例子。实际上它可以有任何类型的线段、弧线和贝塞尔曲线。
现在我需要在线段连接点上切割出一些形状和尺寸(正方形、圆形等),使最终结果看起来像这样:
带孔的路径 http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/with_holes.gif
我的初始想法是使用GeometryCombineMode.Exclude将原始PathGeometry与包含正方形(或其他形状)的其他几何图形组合在一起,放在连接点上。不幸的是,如果路径没有填充,这会产生空几何图形。而如果它被填充,它会产生错误的结果。
所以我卡住了。在简单的线段示例中,我可以预先计算边界点,并使我的线段在那里结束,但对于弧线和贝塞尔曲线来说,这可能有点过度设计。
有人知道如何完成这个任务吗?
注意:我需要抹掉这些孔(透明),所以放一个白色的正方形在上面是不行的。