public void DrawEnvelop(EnvelopeGraph envelop) { var points = GetPoints(envelop); var brush = new SolidBrush(Color.FromArgb(alpha: 100, EnvelopPen.Color)); graphics.FillPolygon(brush, points); graphics.DrawPolygon(EnvelopPen, points); }
private PointF[] GetPoints(EnvelopeGraph envelop) => (from vert in envelop.Upper.Concat(envelop.LowerReverse) select new PointF() { X = (float)GetXCoor(envelop.Length, vert.Time), Y = Scale.GetYCoorForValue(vert.Value, bitmap.Height) }) .ToArray();
public EnvelopeGraph DrawEnvelop(IGraph graph, double windowsSize) { var samplingPeriod = graph.Length / bitmap.Width; var envelop = new EnvelopeGraph(graph, windowsSize, samplingPeriod); DrawEnvelop(envelop); return(envelop); }