Преобразовать string в Color

Имеется

string color = ColorPicker.Color.ToString();

(использую Cyotek.Windows.Forms.ColorPicker)
впоследствии он сохраняется в txt-файл. В txt-файле имеем строку: Color [A=255, R=255, G=0, B=203]. При запуске программы я считываю эту строку.

Вопрос:

  1. Как преобразовать string в Color?
  2. Как сделать проверку во время преобразования на: Color [Empty]?

Дополнение:

  1. Ссылка на библиотеку: https://github.com/cyotek/Cyotek.Windows.Forms.ColorPicker

Ответы (1 шт):

Автор решения: aepot

Как-то так можно распарсить

public Color StringToColor(string text)
{
    Color color = new Color();
    if (!text.Contains("Empty"))
    {
        byte[] channels = text.Split(new [] { ' ', '[', ']', ',' }, StringSplitOption.RemoveEmptyEntries).Skip(1).Select(x => byte.Parse(x.Split('=')[1])).ToArray();
        color.A = channels[0];
        color.R = channels[1];
        color.G = channels[2];
        color.B = channels[3];
    }
    return color;
}
ColorPicker.Color = StringToColor("Color [A=255, R=255, G=0, B=203]");
→ Ссылка