Как уже сказал Коди Грей, довольно просто получить информацию из цвета.Проблема в том, чтобы вернуть его в цвет.
Так что, возможно, это даст вам какую-то отправную точку.Он не проверен, но если вы дадите несколько идей о том, как его решить.
public Color FromString(string name)
{
if(String.IsNullOrWhitespace(name))
{
throw new ArgumentException("name");
}
KnownColor knownColor;
if(Enum.TryParse(name, out knownColor))
{
return Color.FromKnownColor(knownColor);
}
return ColorTranslator.FromHtml(name);
}
Я просто помню, что есть несколько проблем, в зависимости от того, как цвет записан в виде строки.Для каждого существует некоторый класс в рамках, но они разбиты по всем пространствам имен (например, ColorTranslator
).
Просто будьте внимательны, если вы просто позвоните Color.FromName(Color.FromArgb(3,4,5,6).ToString())
, вы получите цвет с именем,но все значения argb равны нулю!