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?
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}");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.