绘制并填充信号

Draw and fill a signal

我想使用 graphics.drawcurve 和 graphics.fillclosedcurve 绘制然后填充信号,如下所示:

图形

gX = drawPanel.CreateGraphics();
Pen pen1 = new Pen(Color.Black); 
Brush be = new SolidBrush(Color.Gray);
gX.DrawCurve(pen1, pointArray1, 0.01F);
gX.FillClosedCurve(be, pointArray1);

尽管绘制的数据中没有负数,但我在曲线的负侧得到了一些填充曲线(由于插值?)如下:

我怎样才能摆脱这些伪影?

提前致谢!

请勿使用DrawCurves绘制真实数据!

它们看起来不错,并且在创建鼠标移动的手绘图时很有用。

但是在绘制数据时,它们并不好,因为它们倾向于 overdraw 尤其是。当方向快速改变时。

请参阅 了解透支的指导性示例!设置一个Tension是一种限制问题的方法;但是也会限制线条的流畅度..

那里的解决方案使用Beziers,但这不是你应该做的!

鉴于您似乎拥有大量 dara 点数,我建议您改用 DrawLinesFillPolygon;他们仍然应该看起来相当光滑..