我有一个 PathGeometry 定义一些像这样的路径:
原始路径 http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/original.gif
这是一个简化的例子。实际上,它可以有任何类型的线段(直线、弧线、贝塞尔曲线)。
现在,我需要在分段关节点上切出某种大小(正方形、圆形等)的孔,因此最终结果如下所示:
有孔 http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/with_holes.gif
我最初的想法是使用 GeometryCombineMode.Exclude 将原始 PathGeometry 与在关节点中包含正方形(或其他)的其他几何图形结合起来。不幸的是,如果路径没有被填充,这会产生空几何。如果它被填充,它会产生不正确的结果。
所以我被困住了。在带有线段的简单示例中,我可以预先计算边界点并让我的线段在那里结束,但是对于弧线和贝塞尔曲线,这有点矫枉过正。
有谁知道如何做到这一点?
注意:我需要擦除这些孔(透明),因此在其上方放置一个白色方块是不行的。