鼠标温度实时变化
This commit is contained in:
@@ -1220,8 +1220,11 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
// 调用温度显示更新方法
|
// 调用温度显示更新方法
|
||||||
// 在就绪条件下,调用更新实时信息
|
// 在就绪条件下,调用更新实时信息
|
||||||
bool isReady = _deviceManager != null && (_isFirst || (!_isPaused && IsDevicePingable && _deviceManager.ConnectionStatus == ConnectionStatus.Connected));
|
bool isReady = _deviceManager != null && (_isFirst || (!_isPaused && IsDevicePingable && _deviceManager.ConnectionStatus == ConnectionStatus.Connected));
|
||||||
if (isReady)
|
// 获取当前温度数据(在方法开始时获取,确保整个方法使用同一数据)
|
||||||
|
TemperatureData currentTemperatureData = null;
|
||||||
|
if (isReady && _deviceManager != null)
|
||||||
{
|
{
|
||||||
|
currentTemperatureData = _deviceManager.LastTemperature;
|
||||||
UpdateRealTimeInfoOnUI();
|
UpdateRealTimeInfoOnUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1329,8 +1332,8 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
if (_previewForm != null && !_previewForm.IsDisposed)
|
if (_previewForm != null && !_previewForm.IsDisposed)
|
||||||
{
|
{
|
||||||
_previewForm.UpdateImage(tempImage);
|
_previewForm.UpdateImage(tempImage);
|
||||||
// 传递温度数据给预览窗口
|
// 传递温度数据给预览窗口 - 使用本地变量确保数据一致性
|
||||||
_previewForm.UpdateTemperatureData(_deviceManager.LastTemperature);
|
_previewForm.UpdateTemperatureData(currentTemperatureData);
|
||||||
}
|
}
|
||||||
// 步骤5:同步更新检测配置窗口的实时图像属性
|
// 步骤5:同步更新检测配置窗口的实时图像属性
|
||||||
// 创建LastImage的副本并通过UpdateRealTimeImage方法传递给Setting窗口
|
// 创建LastImage的副本并通过UpdateRealTimeImage方法传递给Setting窗口
|
||||||
|
|||||||
@@ -100,6 +100,17 @@ namespace JoyD.Windows.CS
|
|||||||
|
|
||||||
// 更新温度数据
|
// 更新温度数据
|
||||||
_temperatureData = temperatureData;
|
_temperatureData = temperatureData;
|
||||||
|
|
||||||
|
// 温度数据更新后,自动重新计算当前鼠标指向点的温度
|
||||||
|
lock (_dataPointLock)
|
||||||
|
{
|
||||||
|
if (_currentDataPoint.X >= 0 && _currentDataPoint.Y >= 0)
|
||||||
|
{
|
||||||
|
// 重新获取温度值并使用防抖机制更新标题栏
|
||||||
|
float temperature = GetTemperatureAtDataPoint(_currentDataPoint);
|
||||||
|
UpdateTitleBarWithDebounce(temperature);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -255,7 +266,14 @@ namespace JoyD.Windows.CS
|
|||||||
int y = Math.Max(0, Math.Min(imagePoint.Y, DISPLAY_HEIGHT - 1));
|
int y = Math.Max(0, Math.Min(imagePoint.Y, DISPLAY_HEIGHT - 1));
|
||||||
|
|
||||||
// 计算原始数据点坐标(整数除法,向下取整)
|
// 计算原始数据点坐标(整数除法,向下取整)
|
||||||
return new Point(x / 2, y / 2);
|
int dataX = x / 2;
|
||||||
|
int dataY = y / 2;
|
||||||
|
|
||||||
|
// 确保数据点坐标在有效范围内
|
||||||
|
dataX = Math.Max(0, Math.Min(dataX, DATA_WIDTH - 1));
|
||||||
|
dataY = Math.Max(0, Math.Min(dataY, DATA_HEIGHT - 1));
|
||||||
|
|
||||||
|
return new Point(dataX, dataY);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取特定数据点的温度值
|
// 获取特定数据点的温度值
|
||||||
|
|||||||
Reference in New Issue
Block a user