Преобразовать string в Color
Имеется
string color = ColorPicker.Color.ToString();
(использую Cyotek.Windows.Forms.ColorPicker)
впоследствии он сохраняется в txt-файл. В txt-файле имеем строку: Color [A=255, R=255, G=0, B=203]. При запуске программы я считываю эту строку.
Вопрос:
- Как преобразовать
stringвColor? - Как сделать проверку во время преобразования на:
Color [Empty]?
Дополнение:
- Ссылка на библиотеку: 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]");