鼠标温度实时变化
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));
|
||||
if (isReady)
|
||||
// 获取当前温度数据(在方法开始时获取,确保整个方法使用同一数据)
|
||||
TemperatureData currentTemperatureData = null;
|
||||
if (isReady && _deviceManager != null)
|
||||
{
|
||||
currentTemperatureData = _deviceManager.LastTemperature;
|
||||
UpdateRealTimeInfoOnUI();
|
||||
}
|
||||
|
||||
@@ -1329,8 +1332,8 @@ namespace JoyD.Windows.CS.Toprie
|
||||
if (_previewForm != null && !_previewForm.IsDisposed)
|
||||
{
|
||||
_previewForm.UpdateImage(tempImage);
|
||||
// 传递温度数据给预览窗口
|
||||
_previewForm.UpdateTemperatureData(_deviceManager.LastTemperature);
|
||||
// 传递温度数据给预览窗口 - 使用本地变量确保数据一致性
|
||||
_previewForm.UpdateTemperatureData(currentTemperatureData);
|
||||
}
|
||||
// 步骤5:同步更新检测配置窗口的实时图像属性
|
||||
// 创建LastImage的副本并通过UpdateRealTimeImage方法传递给Setting窗口
|
||||
|
||||
@@ -100,6 +100,17 @@ namespace JoyD.Windows.CS
|
||||
|
||||
// 更新温度数据
|
||||
_temperatureData = temperatureData;
|
||||
|
||||
// 温度数据更新后,自动重新计算当前鼠标指向点的温度
|
||||
lock (_dataPointLock)
|
||||
{
|
||||
if (_currentDataPoint.X >= 0 && _currentDataPoint.Y >= 0)
|
||||
{
|
||||
// 重新获取温度值并使用防抖机制更新标题栏
|
||||
float temperature = GetTemperatureAtDataPoint(_currentDataPoint);
|
||||
UpdateTitleBarWithDebounce(temperature);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -255,7 +266,14 @@ namespace JoyD.Windows.CS
|
||||
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