修复温差图绘制方形与光标块对齐问题,采用居中对齐方式

This commit is contained in:
zqm
2025-11-11 11:01:38 +08:00
parent 69a834c5fa
commit a1be7cf2bd

View File

@@ -2898,9 +2898,11 @@ namespace JoyD.Windows.CS
adjustedBrushSize = Math.Min(adjustedBrushSize, 50); // 最大50像素 adjustedBrushSize = Math.Min(adjustedBrushSize, 50); // 最大50像素
} }
// 绘制擦除区域(方形) // 计算方形位置,使其居中
// 直接使用imagePoint作为方形的左上角以确保与光标块对齐 int halfSize = adjustedBrushSize / 2;
g.FillRectangle(Brushes.Transparent, imagePoint.X, imagePoint.Y, adjustedBrushSize, adjustedBrushSize);
// 绘制擦除区域(方形),与光标块保持一致的居中对齐方式
g.FillRectangle(Brushes.Transparent, imagePoint.X - halfSize, imagePoint.Y - halfSize, adjustedBrushSize, adjustedBrushSize);
// 恢复CompositingMode为默认值 // 恢复CompositingMode为默认值
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver; g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
@@ -2943,11 +2945,13 @@ namespace JoyD.Windows.CS
adjustedBrushSize = Math.Min(adjustedBrushSize, 50); // 最大50像素 adjustedBrushSize = Math.Min(adjustedBrushSize, 50); // 最大50像素
} }
// 绘制区域(方形) // 计算方形位置,使其居中
// 直接使用imagePoint作为方形的左上角以确保与光标块对齐 int halfSize = adjustedBrushSize / 2;
// 绘制区域(方形),与光标块保持一致的居中对齐方式
using (SolidBrush brush = new SolidBrush(selectedColor)) using (SolidBrush brush = new SolidBrush(selectedColor))
{ {
g.FillRectangle(brush, imagePoint.X, imagePoint.Y, adjustedBrushSize, adjustedBrushSize); g.FillRectangle(brush, imagePoint.X - halfSize, imagePoint.Y - halfSize, adjustedBrushSize, adjustedBrushSize);
} }
} }
} }