diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs
index e204270..04abb21 100644
--- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs
+++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs
@@ -22,6 +22,9 @@ namespace JoyD.Windows.CS
// 绘制模式标志
private bool _isDrawingMode = false;
+ // 温差图绘制模式标志
+ private bool _isTempDiffDrawingMode = false;
+
// 矩形绘制相关变量
private Point _startPoint;
private Rectangle _currentRectangle = Rectangle.Empty;
@@ -78,8 +81,14 @@ namespace JoyD.Windows.CS
///
private void PicBoxTemp_MouseDown(object sender, MouseEventArgs e)
{
+ // 检查是否处于温差图绘制状态且右击鼠标
+ if (_isTempDiffDrawingMode && e.Button == MouseButtons.Right)
+ {
+ // 退出温差图绘制状态,返回到就绪状态
+ ExitTempDiffDrawingMode();
+ }
// 检查是否处于绘制状态且右击鼠标
- if (_isDrawingMode && e.Button == MouseButtons.Right)
+ else if (_isDrawingMode && e.Button == MouseButtons.Right)
{
// 退出绘制状态
_isDrawingMode = false;
@@ -140,7 +149,7 @@ namespace JoyD.Windows.CS
///
/// 根据状态设置按钮可见性
///
- /// 状态类型:0-初始/就绪状态,1-选中区域状态,2-绘制状态
+ /// 状态类型:0-初始/就绪状态,1-选中区域状态,2-绘制状态,3-温差图绘制状态
private void UpdateButtonsVisibility(int state)
{
try
@@ -165,6 +174,12 @@ namespace JoyD.Windows.CS
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
break;
+ case 3: // 温差图绘制状态
+ btnDrawTempDiff.Visible = true; // 显示温差图按钮
+ btnDrawRegion.Visible = false; // 隐藏绘制区域按钮
+ btnSelectColor.Visible = false; // 隐藏颜色选择按钮
+ btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
+ break;
}
}
catch (Exception ex)
@@ -178,8 +193,53 @@ namespace JoyD.Windows.CS
///
private void BtnDrawTempDiff_Click(object sender, EventArgs e)
{
- // 温差图绘制功能实现
- // TODO: 实现温差图绘制逻辑
+ try
+ {
+ // 设置温差图绘制模式标志
+ _isTempDiffDrawingMode = !_isTempDiffDrawingMode;
+ btnDrawTempDiff.Checked = _isTempDiffDrawingMode;
+
+ if (_isTempDiffDrawingMode)
+ {
+ // 进入温差图绘制状态
+ picBoxTemp.Cursor = Cursors.Cross;
+ btnDrawTempDiff.ToolTipText = "温差图绘制模式已启用,点击图片区域进行绘制(点击关闭)";
+
+ // 调用按钮可见性更新方法设置为温差图绘制状态
+ UpdateButtonsVisibility(3); // 3表示温差图绘制状态
+ }
+ else
+ {
+ // 退出温差图绘制状态,返回到就绪状态
+ ExitTempDiffDrawingMode();
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("温差图绘制模式切换失败: " + ex.Message);
+ ExitTempDiffDrawingMode();
+ }
+ }
+
+ ///
+ /// 退出温差图绘制模式
+ ///
+ private void ExitTempDiffDrawingMode()
+ {
+ _isTempDiffDrawingMode = false;
+ btnDrawTempDiff.Checked = false;
+
+ // 重置鼠标光标
+ picBoxTemp.Cursor = Cursors.Default;
+
+ // 更新按钮提示文本
+ btnDrawTempDiff.ToolTipText = "绘制温差图";
+
+ // 按就绪状态设置按钮可见性
+ UpdateButtonsVisibility(0); // 0表示初始状态/就绪状态
+
+ // 刷新绘制
+ picBoxTemp.Invalidate();
}
///