diff --git a/Ooui.Forms/Extensions/ColorExtensions.cs b/Ooui.Forms/Extensions/ColorExtensions.cs index ad432ab..3fb59c2 100644 --- a/Ooui.Forms/Extensions/ColorExtensions.cs +++ b/Ooui.Forms/Extensions/ColorExtensions.cs @@ -6,7 +6,15 @@ namespace Ooui.Forms.Extensions { public static Color ToOouiColor (this Xamarin.Forms.Color color) { - return new Color ((byte)(color.R * 255.0 + 0.5), (byte)(color.G * 255.0 + 0.5), (byte)(color.B * 255.0 + 0.5), (byte)(color.A * 255.0 + 0.5)); + const byte defaultRed = 0; + const byte defaultGreen = 0; + const byte defaultBlue = 0; + const byte defaultAlpha = 255; + byte r = color.R < 0 ? defaultRed : (byte)(color.R * 255.0 + 0.5); + byte g = color.G < 0 ? defaultGreen : (byte)(color.G * 255.0 + 0.5); + byte b = color.B < 0 ? defaultBlue : (byte)(color.B * 255.0 + 0.5); + byte a = color.A < 0 ? defaultAlpha : (byte)(color.A * 255.0 + 0.5); + return new Color (r, g, b, a); } public static Color ToOouiColor (this Xamarin.Forms.Color color, Xamarin.Forms.Color defaultColor)