diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs index 4dd361b..7c033b8 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -2898,9 +2898,11 @@ namespace JoyD.Windows.CS adjustedBrushSize = Math.Min(adjustedBrushSize, 50); // 最大50像素 } - // 绘制擦除区域(方形) - // 直接使用imagePoint作为方形的左上角,以确保与光标块对齐 - g.FillRectangle(Brushes.Transparent, imagePoint.X, imagePoint.Y, adjustedBrushSize, adjustedBrushSize); + // 计算方形位置,使其居中 + int halfSize = adjustedBrushSize / 2; + + // 绘制擦除区域(方形),与光标块保持一致的居中对齐方式 + g.FillRectangle(Brushes.Transparent, imagePoint.X - halfSize, imagePoint.Y - halfSize, adjustedBrushSize, adjustedBrushSize); // 恢复CompositingMode为默认值 g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver; @@ -2943,11 +2945,13 @@ namespace JoyD.Windows.CS adjustedBrushSize = Math.Min(adjustedBrushSize, 50); // 最大50像素 } - // 绘制区域(方形) - // 直接使用imagePoint作为方形的左上角,以确保与光标块对齐 + // 计算方形位置,使其居中 + int halfSize = adjustedBrushSize / 2; + + // 绘制区域(方形),与光标块保持一致的居中对齐方式 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); } } }