Xamarin.Forms.Color to hex value

后端 未结 4 655
广开言路
广开言路 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条回答
  •  Happy的楠姐
    2020-12-15 20:34

    a bit late but here is how I do that in Xamarin Forms (the Xamarin.Forms.Color class already exposes a FromHex(string) method.

    public string ColorHexa { get; set; }
    public Color Color
    {
        get => Color.FromHex(ColorHexa);
        set => ColorHexa = value.ToHexString();
    }
    

    With this extension :

    public static class ColorExtensions
    {
        public static string ToHexString(this Color color, bool outputAlpha = true)
        {
            string DoubleToHex(double value)
            {
                return string.Format("{0:X2}", (int)(value * 255));
            }
    
            string hex = "#";
            if (outputAlpha) hex += DoubleToHex(color.A);
            return $"{hex}{DoubleToHex(color.R)}{DoubleToHex(color.G)}{DoubleToHex(color.B)}";
        }
    }
    

提交回复
热议问题