Home > Enterprise >  How to convert a string into a color
How to convert a string into a color

Time:01-19

I am trying to convert a string like the following: {100,100,100} into a System.Drawing.Color object. What is the best approach for accomplishing this task?

CodePudding user response:

I think this should work:

private Color GetColorByString(string String)
    {
        string[] ColorValues = String.Split(',', '.', ' ');

        for (int i = 0; i < ColorValues.Length; i  )
        {
            ColorValues[i] = new System.Text.RegularExpressions.Regex(@"[^\d]").Replace(ColorValues[i], "");
        }
        try
        {
            return Color.FromArgb(Convert.ToInt32(ColorValues[0]), Convert.ToInt32(ColorValues[1]), Convert.ToInt32(ColorValues[2]));
        }
        catch { return new Color(); }
    }

And you can use it like this:

Color NewColor = GetColorByString("{100,100,100}");
  •  Tags:  
  • Related