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); + } + } + /// /// 新建测温区按钮点击事件 ///