From 56142263ad36969a081f20b6f372e4cd51321fcf Mon Sep 17 00:00:00 2001 From: robloo Date: Sat, 9 Apr 2022 19:57:27 -0400 Subject: [PATCH] Use rounding when converting to RGB color --- src/Avalonia.Visuals/Media/HslColor.cs | 8 ++++---- src/Avalonia.Visuals/Media/HsvColor.cs | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Avalonia.Visuals/Media/HslColor.cs b/src/Avalonia.Visuals/Media/HslColor.cs index f5d2abc2dc..e27a4f3106 100644 --- a/src/Avalonia.Visuals/Media/HslColor.cs +++ b/src/Avalonia.Visuals/Media/HslColor.cs @@ -436,10 +436,10 @@ namespace Avalonia.Media } return Color.FromArgb( - (byte)(255 * alpha), - (byte)(255 * (r1 + m)), - (byte)(255 * (g1 + m)), - (byte)(255 * (b1 + m))); + (byte)Math.Round(255 * alpha), + (byte)Math.Round(255 * (r1 + m)), + (byte)Math.Round(255 * (g1 + m)), + (byte)Math.Round(255 * (b1 + m))); } /// diff --git a/src/Avalonia.Visuals/Media/HsvColor.cs b/src/Avalonia.Visuals/Media/HsvColor.cs index 3512dadf07..164aeb1df1 100644 --- a/src/Avalonia.Visuals/Media/HsvColor.cs +++ b/src/Avalonia.Visuals/Media/HsvColor.cs @@ -411,10 +411,10 @@ namespace Avalonia.Media if (chroma == 0) { return Color.FromArgb( - (byte)(alpha * 255), - (byte)(min * 255), - (byte)(min * 255), - (byte)(min * 255)); + (byte)Math.Round(alpha * 255), + (byte)Math.Round(min * 255), + (byte)Math.Round(min * 255), + (byte)Math.Round(min * 255)); } // If the chroma is not zero, then we need to continue. The first step is to figure out @@ -484,10 +484,10 @@ namespace Avalonia.Media } return Color.FromArgb( - (byte)(alpha * 255), - (byte)(r * 255), - (byte)(g * 255), - (byte)(b * 255)); + (byte)Math.Round(alpha * 255), + (byte)Math.Round(r * 255), + (byte)Math.Round(g * 255), + (byte)Math.Round(b * 255)); } ///