自动加载测温区和温差图

This commit is contained in:
zqm
2026-01-07 13:38:28 +08:00
parent 1ae158bdd6
commit 490f087dc1

View File

@@ -4443,12 +4443,18 @@ namespace JoyD.Windows.CS
try try
{ {
double temperature = Convert.ToDouble(parts[0]); double temperature = Convert.ToDouble(parts[0]);
string colorHex = parts[1].TrimStart('#'); // 兼容两种颜色格式:十六进制颜色代码和颜色名称
Color color = Color.FromArgb( Color color;
Convert.ToInt32(colorHex.Substring(0, 2), 16), try
Convert.ToInt32(colorHex.Substring(2, 2), 16), {
Convert.ToInt32(colorHex.Substring(4, 2), 16) // 首先尝试解析十六进制颜色代码
); color = ColorTranslator.FromHtml(parts[1]);
}
catch
{
// 如果解析失败,尝试解析颜色名称
color = Color.FromName(parts[1]);
}
// 添加到温差图例列表 // 添加到温差图例列表
int rowIndex = dataGridViewTempDiff.Rows.Add(); int rowIndex = dataGridViewTempDiff.Rows.Add();
@@ -4685,8 +4691,18 @@ namespace JoyD.Windows.CS
int.TryParse(parts[3], out int width); int.TryParse(parts[3], out int width);
int.TryParse(parts[4], out int height); int.TryParse(parts[4], out int height);
// 解析颜色 // 兼容两种颜色格式:十六进制颜色代码和颜色名称
Color color = Color.FromName(parts[5]); Color color;
try
{
// 首先尝试解析十六进制颜色代码
color = ColorTranslator.FromHtml(parts[5]);
}
catch
{
// 如果解析失败,尝试解析颜色名称
color = Color.FromName(parts[5]);
}
// 创建区域信息 // 创建区域信息
regions.Add(new RegionInfo regions.Add(new RegionInfo
@@ -4799,8 +4815,8 @@ namespace JoyD.Windows.CS
reader.ReadLine(); // 跳过表头行 reader.ReadLine(); // 跳过表头行
continue; continue;
} }
// 识别温差像素数据部分 // 识别像素温度数据部分
else if (line == "温差像素数据") else if (line == "像素温度数据")
{ {
readingLegend = false; readingLegend = false;
readingPixelData = true; readingPixelData = true;
@@ -4828,8 +4844,18 @@ namespace JoyD.Windows.CS
// 解析温差值和颜色 // 解析温差值和颜色
if (double.TryParse(parts[0].Replace("°C", ""), out double tempValue)) if (double.TryParse(parts[0].Replace("°C", ""), out double tempValue))
{ {
// 使用ColorTranslator.FromHtml正确解析十六进制颜色代码 // 兼容两种颜色格式:十六进制颜色代码和颜色名称
Color color = ColorTranslator.FromHtml(parts[1]); Color color;
try
{
// 首先尝试解析十六进制颜色代码
color = ColorTranslator.FromHtml(parts[1]);
}
catch
{
// 如果解析失败,尝试解析颜色名称
color = Color.FromName(parts[1]);
}
tempToColorMap[tempValue] = color; tempToColorMap[tempValue] = color;
// 添加到数据列表 // 添加到数据列表