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?
>Solution :
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}");