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
!看见