Рейтинг:
0
OriginalGriff
Почему вы храните значение цвета в БД в виде строки? Он помещается в целое число без знака как "собственное" значение ... и тогда это просто простое дело, чтобы получить цвет обратно:
Color c = Color.AliceBlue;
int i = c.ToArgb();
c = Color.FromArgb(i);
Играть со струнами одновременно и неэффективно, и громоздко:
string s = "Color [A=255, R=128, G=0, B=255]";
Match m = Regex.Match(s, @"A=(?<Alpha>\d+),\s*R=(?<Red>\d+),\s*G=(?<Green>\d+),\s*B=(?<Blue>\d+)");
if (m.Success)
{
int alpha = int.Parse(m.Groups["Alpha"].Value);
int red = int.Parse(m.Groups["Red"].Value);
int green = int.Parse(m.Groups["Green"].Value);
int blue = int.Parse(m.Groups["Blue"].Value);
Color c = Color.FromArgb(alpha, red, green, blue);
...
}
Fahid Zahoor
Цвет с = Цвет.AliceBlue;
int i = c.ToArgb();
с = Цвет.FromArgb(i);
это хороший метод теперь я использую его но одна проблема с которой я сталкиваюсь
Я использую colordialouge для выбора цвета теперь, пожалуйста, скажите мне, как я могу поставить выбранный цвет вместо этого имени "AliceBlue".
Или 1).у вас есть какие-нибудь идеи, как я могу преобразовать выбранный цвет в его название.
2) у вас есть какие-либо идеи, как я могу преобразовать цвет фона кнопки в имя цвета и сохранить это имя цвета в любой переменной строкового типа данных.
OriginalGriff
Ты ведь шутишь, правда?
"Цвет.AliceBlue" был просто примером, чтобы показать, что это работает - когда у вас есть значение цвета в переменной, не имеет значения, каково ее имя. И ColorDialog предоставляет вам значение цвета, когда пользователь выбрал его!
И не храните "названия цветов" - в значении цвета ARGB есть 4 294 967 295 различных цветовых комбинаций, и не все из них имеют имена... Сохраните целочисленное значение, и оно может быть легко и эффективно преобразовано.
Fahid Zahoor
Итак, пожалуйста, скажите мне, как я могу преобразовать выбранный цвет в целочисленное значение, а затем сохранить это целочисленное значение в базе данных
OriginalGriff
О... но преобразование цвета в int так сложно! И я не давал вам код для этого два дня назад, не так ли? :doh:
Знаешь, мне кажется, что да ... это целая строка кода ... который вызывает только один метод ...
Вам придется начать думать о том, что вы делаете - вы не производите ни на кого особенно хорошего впечатления, вы знаете.