Как конвертировать строку в Hex? - PullRequest
1 голос
/ 21 октября 2011

Есть ли способ преобразовать строку в гекса и затем преобразовать ее в цвет .Net?

Я хотел бы знать, как преобразовать строку цвета, скажем, Black, в ее гекса '#000000'?

т.е. если мой ввод "Черный", я должен вернуть "#000000"

Моя проблема:

Я задаю цвет и сохраняю его имя в объекте.Таким образом, если он белый, объект остается «белым», но для определенных оттенков он сохраняет имя как f12a12 (пример).Я добавил "0x" для таких строк, и он работал нормально с colortranslator.В случае нормальных цветов в объекте Color, я не хочу добавлять это.Я могу создать строку для поиска по Цветам, но я хотел бы знать, есть ли другой способ сделать это?

Ответы [ 3 ]

1 голос
/ 21 октября 2011
Color c = Color.Black;
string strColor = System.Drawing.ColorTranslator.ToHtml(c);
//returns 000000

Редактировать:

В обратном порядке

Color c =  System.Drawing.ColorTranslator.FromHtml("#000000");
0 голосов
/ 21 октября 2011

Нет способа получить HEX от названия цвета. Вам необходимо создать таблицу подстановки, которая содержит название цвета, а также HEX этого цвета. И только тогда вы можете получить HEX этого цвета.

Для вашего решения я не уверен, но я думаю, что для получения правильных значений RGB необходим HEX этого цвета.

0 голосов
/ 21 октября 2011
  ColorTranslator.FromHtml(  "#ffffff")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...