1
從定義爲用戶繪製的一系列點的曲線(下圖左側)開始,我想要導出描述該曲線周圍區域的點。爲此我使用從GraphisPath
的Widen
功能如下所示如下:計算描述GDI中曲線周圍區域的點陣列+
PointF[] ComputeAreaAroundCurve(PointF[] curvePoints)
{
GraphicsPath gp = new GraphicsPath();
gp.AddLines(curvePoints);
using(Pen pen = new Pen(Color.Black, 10))
gp.Widen(pen);
return gp.PathPoints;
}
如果我然後繪製的結果,我獲得右圖這裏當然交叉部(紅色箭頭)是不拍攝。任何想法如何計算而不是PointF [],當繪製時也會包含那部分呢?
您是否在繪製路徑時嘗試過'FillMode.Winding'? –
是的,我在創建路徑時嘗試了FillMode.Winding,但沒有更改。另外請考慮我想點陣,因爲之後我需要執行其他操作(例如確定一個點是否包含在所描述的區域內) –