实现温差图绘制状态功能:添加温差图绘制模式标志变量、实现BtnDrawTempDiff_Click方法、添加右击退出温差图绘制状态逻辑
This commit is contained in:
@@ -22,6 +22,9 @@ namespace JoyD.Windows.CS
|
|||||||
// 绘制模式标志
|
// 绘制模式标志
|
||||||
private bool _isDrawingMode = false;
|
private bool _isDrawingMode = false;
|
||||||
|
|
||||||
|
// 温差图绘制模式标志
|
||||||
|
private bool _isTempDiffDrawingMode = false;
|
||||||
|
|
||||||
// 矩形绘制相关变量
|
// 矩形绘制相关变量
|
||||||
private Point _startPoint;
|
private Point _startPoint;
|
||||||
private Rectangle _currentRectangle = Rectangle.Empty;
|
private Rectangle _currentRectangle = Rectangle.Empty;
|
||||||
@@ -78,8 +81,14 @@ namespace JoyD.Windows.CS
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void PicBoxTemp_MouseDown(object sender, MouseEventArgs e)
|
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;
|
_isDrawingMode = false;
|
||||||
@@ -140,7 +149,7 @@ namespace JoyD.Windows.CS
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 根据状态设置按钮可见性
|
/// 根据状态设置按钮可见性
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="state">状态类型:0-初始/就绪状态,1-选中区域状态,2-绘制状态</param>
|
/// <param name="state">状态类型:0-初始/就绪状态,1-选中区域状态,2-绘制状态,3-温差图绘制状态</param>
|
||||||
private void UpdateButtonsVisibility(int state)
|
private void UpdateButtonsVisibility(int state)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -165,6 +174,12 @@ namespace JoyD.Windows.CS
|
|||||||
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
|
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
|
||||||
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
|
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
|
||||||
break;
|
break;
|
||||||
|
case 3: // 温差图绘制状态
|
||||||
|
btnDrawTempDiff.Visible = true; // 显示温差图按钮
|
||||||
|
btnDrawRegion.Visible = false; // 隐藏绘制区域按钮
|
||||||
|
btnSelectColor.Visible = false; // 隐藏颜色选择按钮
|
||||||
|
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -178,8 +193,53 @@ namespace JoyD.Windows.CS
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void BtnDrawTempDiff_Click(object sender, EventArgs e)
|
private void BtnDrawTempDiff_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// 温差图绘制功能实现
|
try
|
||||||
// TODO: 实现温差图绘制逻辑
|
{
|
||||||
|
// 设置温差图绘制模式标志
|
||||||
|
_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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 退出温差图绘制模式
|
||||||
|
/// </summary>
|
||||||
|
private void ExitTempDiffDrawingMode()
|
||||||
|
{
|
||||||
|
_isTempDiffDrawingMode = false;
|
||||||
|
btnDrawTempDiff.Checked = false;
|
||||||
|
|
||||||
|
// 重置鼠标光标
|
||||||
|
picBoxTemp.Cursor = Cursors.Default;
|
||||||
|
|
||||||
|
// 更新按钮提示文本
|
||||||
|
btnDrawTempDiff.ToolTipText = "绘制温差图";
|
||||||
|
|
||||||
|
// 按就绪状态设置按钮可见性
|
||||||
|
UpdateButtonsVisibility(0); // 0表示初始状态/就绪状态
|
||||||
|
|
||||||
|
// 刷新绘制
|
||||||
|
picBoxTemp.Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user