Xamarin.Forms.Color to hex value

后端 未结 4 654
广开言路
广开言路 2020-12-15 19:49

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

So far, I haven\'t found a solution to my problem.

My code is as follows:



        
4条回答
  •  一生所求
    2020-12-15 20:50

    Just a quick fix, the last line is wrong.

    Alpha channel comes before the other values:

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

    and this is best for an 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;
        }
    }
    

提交回复
热议问题