From ff8846f0d71837c67c3d95f9e4ef2b6c141d2c28 Mon Sep 17 00:00:00 2001 From: zqm Date: Tue, 11 Nov 2025 14:23:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0btnSaveTempRegion=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=8A=9F=E8=83=BD=EF=BC=9A=E5=BC=B9=E5=87=BA=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=96=87=E4=BB=B6=E5=AF=B9=E8=AF=9D=E6=A1=86=E5=B9=B6?= =?UTF-8?q?=E5=B0=86=E6=B5=8B=E6=B8=A9=E5=8C=BA=E4=BF=A1=E6=81=AF=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E4=B8=BACSV=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Toprie/Toprie/Setting.Designer.cs | 1 + .../CS/Framework4.0/Toprie/Toprie/Setting.cs | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs index 03230fa..afa77cb 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs @@ -166,6 +166,7 @@ namespace JoyD.Windows.CS this.btnSaveTempRegion.Size = new System.Drawing.Size(23, 4); this.btnSaveTempRegion.Text = "保存测温区"; this.btnSaveTempRegion.ToolTipText = "保存测温区"; + this.btnSaveTempRegion.Click += new System.EventHandler(this.BtnSaveTempRegion_Click); // // btnNewTempDiff // diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs index d10a5b7..88e2c09 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -2999,6 +2999,58 @@ namespace JoyD.Windows.CS } } + /// + /// 保存测温区按钮点击事件 + /// + private void BtnSaveTempRegion_Click(object sender, EventArgs e) + { + try + { + // 如果没有测温区,则提示用户 + if (_drawnRectangles.Count == 0) + { + MessageBox.Show("没有可保存的测温区", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + + // 弹出保存文件对话框 + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.Filter = "CSV文件 (*.csv)|*.csv|所有文件 (*.*)|*.*"; + saveFileDialog.Title = "保存测温区信息"; + saveFileDialog.DefaultExt = "csv"; + saveFileDialog.FileName = "测温区信息.csv"; + + // 显示保存文件对话框,如果用户点击了确定按钮 + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + // 使用StreamWriter保存为CSV文件 + using (StreamWriter writer = new StreamWriter(saveFileDialog.FileName, false, Encoding.UTF8)) + { + // 写入CSV文件头部 + writer.WriteLine("Index,X,Y,Width,Height,Color"); + + // 遍历所有测温区,将信息写入CSV文件 + foreach (RegionInfo region in _drawnRectangles) + { + // 获取颜色的十六进制表示 + string colorHex = ColorTranslator.ToHtml(region.Color); + + // 写入一行数据,格式:索引,X坐标,Y坐标,宽度,高度,颜色 + writer.WriteLine($"{region.Index},{region.ImageRectangle.X},{region.ImageRectangle.Y},{region.ImageRectangle.Width},{region.ImageRectangle.Height},{colorHex}"); + } + } + + // 保存成功后提示用户 + MessageBox.Show("测温区信息保存成功", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + catch (Exception ex) + { + Console.WriteLine("保存测温区信息失败: " + ex.Message); + MessageBox.Show("保存测温区信息失败: " + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + /// /// 新建测温区按钮点击事件 ///