C# 为什么我会看到这些锯齿状的曲线?

C# 为什么我会看到这些锯齿状的曲线?,c#,winforms,graphics,curve,C#,Winforms,Graphics,Curve,我有一个画布,并用以下代码绘制曲线: using (Graphics g = Graphics.FromImage(canvas.BackgroundImage)) { g.DrawCurve(pen, points); 点是我通过鼠标位置点填充的数组。 结果我看到了一些我没有画的参差不齐的线 您可以在此处看到它们(红色矩形): 对此我能做些什么?您看到的是默认值for的组合有点不吉利,它是斜接,而默认值for是10 相反,您可以选择从另一个LineJoin选项中选择一个,或者将Mi

我有一个画布,并用以下代码绘制曲线:

using (Graphics g = Graphics.FromImage(canvas.BackgroundImage))
{
    g.DrawCurve(pen, points);
是我通过鼠标位置点填充的数组。 结果我看到了一些我没有画的参差不齐的线

您可以在此处看到它们(红色矩形):


对此我能做些什么?

您看到的是默认值for的组合有点不吉利,它是
斜接
,而默认值for是10

相反,您可以选择从另一个
LineJoin
选项中选择一个,或者将
MiterLimit
减小到
Pen.Width
的一半以下

using (Pen myPen = new Pen(Color.Blue, 24f))
{
    // either another LineJoine;
    myPen.LineJoin = System.Drawing.Drawing2D.LineJoin.Round;
    // or a reduced MiterLimit:
    myPen.MiterLimit = 1+ myPen.Width / 5f;
}

只需为您的
笔设置
MiterLimit
LineJoins
!看见