diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs
index 9ea705e..e7f46c6 100644
--- a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs
+++ b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs
@@ -174,6 +174,25 @@ namespace JoyD.Windows.CS.Toprie
}
}
+ ///
+ /// 温度类型枚举
+ ///
+ public enum TemperatureType
+ {
+ ///
+ /// 最高温度
+ ///
+ Max = 0,
+ ///
+ /// 最低温度
+ ///
+ Min = 1,
+ ///
+ /// 平均温度
+ ///
+ Average = 2
+ }
+
///
/// 获取或设置检测区配置
///
@@ -194,6 +213,63 @@ namespace JoyD.Windows.CS.Toprie
}
}
+ ///
+ /// 获取指定测温区的温度值
+ ///
+ /// 温度类型:0表示最高温,1表示最低温,2表示平均温
+ /// 测温区编号,0表示全局温度
+ /// 温度值
+ public float GetAreaTemp(int tempType, int zoneIndex)
+ {
+ // 检查DeviceManager是否为空或未连接
+ if (_deviceManager == null || _deviceManager.ConnectionStatus != ConnectionStatus.Connected)
+ {
+ return float.NaN;
+ }
+
+ // 获取当前温度数据
+ TemperatureData temperatureData = _deviceManager.LastTemperature;
+ if (temperatureData == null)
+ {
+ return float.NaN;
+ }
+
+ // 全局温度
+ if (zoneIndex == 0)
+ {
+ switch (tempType)
+ {
+ case 0: // 最高温
+ return temperatureData.MaxTemperature;
+ case 1: // 最低温
+ return temperatureData.MinTemperature;
+ case 2: // 平均温
+ return temperatureData.AverageTemperature;
+ default:
+ return float.NaN;
+ }
+ }
+ // 特定测温区温度
+ else
+ {
+ if (temperatureData.ZoneTemperatures.TryGetValue(zoneIndex, out var zoneTempData))
+ {
+ switch (tempType)
+ {
+ case 0: // 最高温
+ return zoneTempData.MaxTemperature;
+ case 1: // 最低温
+ return zoneTempData.MinTemperature;
+ case 2: // 平均温
+ return zoneTempData.AverageTemperature;
+ default:
+ return float.NaN;
+ }
+ }
+ return float.NaN;
+ }
+ }
+
///
/// 加载测温区配置文件
///