Curve.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace FurnaceUI.Controls
  8. {
  9. class Curve
  10. {
  11. }
  12. /// <summary>
  13. /// 曲线数据对象
  14. /// </summary>
  15. public class HslCurveItem
  16. {
  17. /// <summary>
  18. /// 实例化一个对象
  19. /// </summary>
  20. public HslCurveItem()
  21. {
  22. LineColor = Color.Red;
  23. LineThickness = 1.0f;
  24. ReferenceAxisIndex = 0;
  25. Visible = true;
  26. LineRenderVisiable = true;
  27. TitleRegion = new RectangleF(0, 0, 0, 0);
  28. Style = CurveStyle.LineSegment;
  29. }
  30. /// <summary>
  31. /// 数据
  32. /// </summary>
  33. public float[] Data = null;
  34. /// <summary>
  35. /// 标记文本
  36. /// </summary>
  37. public string[] MarkText = null;
  38. /// <summary>
  39. /// 线条的宽度
  40. /// </summary>
  41. public float LineThickness { get; set; }
  42. /// <summary>
  43. /// 是否平滑的曲线显示,默认为False
  44. /// </summary>
  45. public CurveStyle Style { get; set; }
  46. /// <summary>
  47. /// 曲线颜色
  48. /// </summary>
  49. public Color LineColor { get; set; }
  50. /// <summary>
  51. /// 是否左侧参考系,0为左侧,1为右侧,其他是辅助坐标轴
  52. /// </summary>
  53. public int ReferenceAxisIndex { get; set; }
  54. /// <summary>
  55. /// 本曲线是否显示出来,默认为显示
  56. /// </summary>
  57. public bool Visible { get; set; }
  58. /// <summary>
  59. /// 用于曲线自身选择是否显示的情况的判断
  60. /// </summary>
  61. public bool LineRenderVisiable { get; set; }
  62. /// <summary>
  63. /// 标题实现的基本区域
  64. /// </summary>
  65. public RectangleF TitleRegion { get; set; }
  66. /// <summary>
  67. /// 本曲线在图形上显示的格式化信息,对历史数据有效
  68. /// </summary>
  69. public string RenderFormat { get; set; } = "{0}";
  70. }
  71. /// <summary>
  72. /// 曲线的样式
  73. /// </summary>
  74. public enum CurveStyle
  75. {
  76. /// <summary>
  77. /// 线段,原始的多个点之间的直线连接
  78. /// </summary>
  79. LineSegment,
  80. /// <summary>
  81. /// 曲线,相对于线段比较平滑
  82. /// </summary>
  83. Curve,
  84. /// <summary>
  85. /// 阶梯线段,采用阶梯的样式表示
  86. /// </summary>
  87. StepLine,
  88. /// <summary>
  89. /// 阶梯线段,没有竖向的信息
  90. /// </summary>
  91. StepLineWithoutVertical,
  92. /// <summary>
  93. /// 点画线,类似 .......
  94. /// </summary>
  95. LineDot,
  96. /// <summary>
  97. /// 点画曲线,类似 .......
  98. /// </summary>
  99. CurveDot,
  100. /// <summary>
  101. /// 虚线,类似 -------
  102. /// </summary>
  103. LineDash,
  104. /// <summary>
  105. /// 虚曲线,类似 -------
  106. /// </summary>
  107. CurveDash,
  108. /// <summary>
  109. /// 长虚线,类似 -------
  110. /// </summary>
  111. LineLongDath,
  112. /// <summary>
  113. /// 长虚曲线,类似 -------
  114. /// </summary>
  115. CurveLongDath,
  116. }
  117. }