为什么我会看到这种锯齿状的曲线?
Why do I see this jagged curves?
我有一个 canvas 并使用此代码绘制曲线:
using (Graphics g = Graphics.FromImage(canvas.BackgroundImage))
{
g.DrawCurve(pen, points);
points
是我用鼠标定位点填充的数组。
结果我看到了一些我没有画的锯齿状线条。
你可以在这里看到它们(红色矩形):
我该怎么办?
您看到的是 默认值 与 Linejoin
, which is Miter
and the default for MiterLimit
的有点不吉利的组合,即 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;
}
我有一个 canvas 并使用此代码绘制曲线:
using (Graphics g = Graphics.FromImage(canvas.BackgroundImage))
{
g.DrawCurve(pen, points);
points
是我用鼠标定位点填充的数组。
结果我看到了一些我没有画的锯齿状线条。
你可以在这里看到它们(红色矩形):
我该怎么办?
您看到的是 默认值 与 Linejoin
, which is Miter
and the default for MiterLimit
的有点不吉利的组合,即 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;
}