Xamarin.Forms.Color to hex value

I have Xamarin.Forms.Color and I want to convert it to a hex value.

So far, I have not found a solution to my problem.

My code is as follows:

foreach (var cell in Grid.Children) { var pixel = new Pixel { XAttribute = cell.X , YAttribute = cell.Y , // I want to convert the color to a hex value here Color = cell.BackgroundColor }; } 
+5
source share
2 answers

Just a quick fix, the last line is incorrect.

The alpha channel comes before other values:

 string hex = String.Format("#{0:X2}{1:X2}{2:X2}{3:X2}", alpha, red, green, blue); 

and this is best suited for the extension method:

 public static class ExtensionMethods { public static string GetHexString(this Xamarin.Forms.Color color) { var red = (int)(color.R * 255); var green = (int)(color.G * 255); var blue = (int)(color.B * 255); var alpha = (int)(color.A * 255); var hex = $"#{alpha:X2}{red:X2}{green:X2}{blue:X2}"; return hex; } } 
+23
source
  var color = Xamarin.Forms.Color.Orange; int red = (int) (color.R * 255); int green = (int) (color.G * 255); int blue = (int) (color.B * 255); int alpha = (int)(color.A * 255); string hex = String.Format("#{0:X2}{1:X2}{2:X2}{3:X2}", red, green, blue, alpha); 
+7
source

Source: https://habr.com/ru/post/1260591/


All Articles