C#绘图:绘制中间有孔的多边形的最佳方法是什么

时间:2011-06-11 18:47:14

标签: c# wpf drawing gdi

我的形状由外边框定义,然后是内边框。如果没有内部边界,形状是坚固的。如果有一个内边框,我希望只在两个边框之间定义多边形/路径;我不想绘制外部,然后以背景颜色绘制内部。

例如,如果我有一个由外边框的以下坐标定义的正方形:

{0,0}, {20, 0}, {20,20}, {0, 20}

那个正方形是20x20,其左下角位于原点。那个形状有一个从中心切出的三角形:

{10,10}, {15,10}, {15,15}

如何使用WPF或GDI +创建包含此形状的路径?

3 个答案:

答案 0 :(得分:6)

您可以使用XAML绘制该形状:(关键是使用带有CombinedGeometry的{​​{1}}

GeometryCombineMode="Exclude"

答案 1 :(得分:3)

在GDI +中,您可以将FillPath()DrawPath()FillModeAlternate一起使用。

有一个非常接近你所要求的here的例子。

答案 2 :(得分:0)

只需使用背景颜色在主轮廓顶部绘制孔。它看起来好像是真正的漏洞 的 修改 如果您使用的api不支持漏洞,请使用此方法。这就是为什么我假设你在问