Why do I see this jagged curves?

后端 未结 1 567
独厮守ぢ
独厮守ぢ 2020-12-11 12:26

I have a canvas and draw curve with this code:

using (Graphics g = Graphics.FromImage(canvas.BackgroundImage))
{
    g.DrawCurve(pen, points);
相关标签:
1条回答
  • 2020-12-11 12:30

    What you is see is the somewhat unlucky combination of the default for Linejoin, which is Miter and the default for MiterLimit, which is 10.

    Instead you have a choice of either picking one of the other LineJoin options or reducing the MiterLimit to say less than half the 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;
    }
    
    0 讨论(0)
提交回复
热议问题