我有一个画布,用这个代码绘制曲线:
using (Graphics g = Graphics.FromImage(canvas.BackgroundImage)) { g.DrawCurve(pen, points);
points 是由鼠标位置点填充的数组。 结果我看到一些我没有画的参差不齐的线。
points
你可以在这里看到它们(红色矩形):
我能怎么办?
你看到的是一些不幸的组合 违约 对于 Linejoin ,这是 Miter 违约 对于 MiterLimit
Linejoin
Miter
MiterLimit
相反,你可以选择其中一个 LineJoin 选择或减少 米特里米特 不到一半 Pen.Width
LineJoin
米特里米特
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; }