/// <summary> /// 选择插值器类型 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cbxInterpolatorType_SelectedIndexChanged(object sender, EventArgs e) { switch (cbxInterpolatorType.SelectedItem.ToString()) { case "折线": _interpolatorType = enumInterpolatorType.Line; break; case "曲线": _interpolatorType = enumInterpolatorType.Curve; break; } _interpolator = InterpolatorFactory.GetInterpolator(_interpolatorType); this.CurveControl.Apply(_interpolator); this.CurveControl.Invalidate(); }
public static IInterpolator GetInterpolator(enumInterpolatorType type) { switch (type) { case enumInterpolatorType.Line: return(new LineInterpolator()); case enumInterpolatorType.Curve: return(new SplineInterpolator()); case enumInterpolatorType.Log: return(new LogInterpolator()); default: return(null); } }