From 2af3ae119846a6b12cabdc28fb67329e122e39b5 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期四, 24 十月 2024 16:19:27 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 54 insertions(+), 3 deletions(-) diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs index ff945f7..fa3881b 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs @@ -1,8 +1,14 @@ -锘縰sing DevExpress.Utils; +锘縰sing DevExpress.Charts.Model; +using DevExpress.Utils; using DevExpress.XtraCharts; using DevExpress.XtraEditors; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Linq; using System.Text; +using System.Windows.Forms; using Yw.Geometry; +using static DevExpress.Utils.Drawing.Helpers.NativeMethods; namespace Yw.WinFrmUI.Phart { @@ -134,6 +140,7 @@ _series_qe = this.chartControl1.GetSeriesByName("SeriesCurveQE"); _series_qe.SetCurveQEDisplay(); + _series_qp = this.chartControl1.GetSeriesByName("SeriesCurveQP"); _series_qp.SetCurveQPDisplay(); @@ -144,6 +151,7 @@ _series_qe_pt = this.chartControl1.GetSeriesByName("SeriesPointQE"); _series_qe_pt.SetPointQEDisplay(); + _series_qp_pt = this.chartControl1.GetSeriesByName("SeriesPointQP"); _series_qp_pt.SetPointQPDisplay(); @@ -176,7 +184,46 @@ this.chartControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseDown); this.chartControl1.Resize += new System.EventHandler(this.chartControl1_Resize); + // this.chartControl1.CustomPaint += ChartControl1_CustomPaint; } + + private void ChartControl1_CustomPaint(object sender, CustomPaintEventArgs e) + { + if (!(e is DXCustomPaintEventArgs dxArgs)) + return; + + if (_qe == null) + { + return; + } + + // 浣跨敤Graphics缁樺埗鏍锋潯绾� + using (var pen = new Pen(Color.Red, 2)) + { + // dxArgs.Cache.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; + + // 鍒涘缓GraphicsPath瀵硅薄锛屽苟娣诲姞鏍锋潯绾� + using (var path = new System.Drawing.Drawing2D.GraphicsPath()) + { + var pts = _qe.GetPointList().Select(x => new PointF((float)x.X, (float)x.Y)).ToArray(); + var g_pts = new List<PointF>(); + foreach (var pt in pts) + { + var x = pt.X; + var y = pt.Y; + var c_pt = _main_chart_diagram.DiagramToPoint(x, y, _axisXQ, _axis_y_qe); + g_pts.Add(new PointF(c_pt.Point.X, c_pt.Point.Y)); + } + + path.AddCurve(g_pts.ToArray()); + dxArgs.Cache.DrawPath(pen, path); + } + } + + + } + + /// <summary> /// 鍒濆鍖栧浘琛ㄦ暟鎹� @@ -233,7 +280,7 @@ if (qp != null) qp_pt_list = qp.GetPointList(12); - SetBindingData(qh, qe, qp, qh_pt_list, qe_pt_list, qp_pt_list, null, null, null, coordinate_paras, calc_coordinate); + SetBindingData(qh, qe, qp, qh_pt_list, qe_pt_list, qp_pt_list, null, qe_pt_list, null, coordinate_paras, calc_coordinate); } @@ -352,7 +399,11 @@ return; } + _coordinate_paras = PumpCoordinate.CalcCoordinate(_qh_pt_list, _qe_pt_list, _qp_pt_list); + + + } /// <summary> @@ -550,7 +601,7 @@ } if (_qe_pt_list != null && _qe_pt_list.Count > 3) - { + { _series_qe.Visible = true; _series_qe.Points.Clear(); foreach (var pt in _qe_pt_list) -- Gitblit v1.9.3