Получение цветов RGB

#c# #wpf #colors #rgb

#c# #wpf #Цвет #rgb

Вопрос:

Я хочу получить значение rgb цветов, которые заданы в виде строк (акцент 1, акцент 2, …, акцент 6). Это полученная мной таблица, которая визуально описывает каждый цвет. Я хочу получить каждое из этих шести значений в формате, подобном этому: #ff0000.

Комментарии:

1. Что вы имеете в виду под визуальной идентификацией значений RGB?

2. Вы можете визуально видеть, что accent 3 зеленого цвета.

3. Как вы отображаете эти цвета в полях? У вас есть Color объект?

4. Я этого не делаю. Это то, о чем я спрашиваю. Как отобразить цвета из изображения как #ff0000. Изображение взято из msdn. Это не мое.

5. короткий способ .. перейдите на mspaint и проверьте значения RGB для зеленого цвета, который вы видите

Ответ №1:

Вы можете использовать это:

 Accent 1: #4f81bd
Accent 2: #c0504d
Accent 3: #9bbb59
Accent 4: #8064a2
Accent 5: #4bacc6
Accent 6: #f79646
  

Ответ №2:

Вам нужно посмотреть, как получить объект Color из этих элементов управления (у вас есть доступ к элементам управления? Надеюсь, что будет способ получить (и, возможно, установить) цвет выбранного цвета). Если у вас есть список этих элементов управления, вы могли бы создать Dictionary<string, YourColorControl> в этом элементе управления и использовать этот код;

  Dictionary<string, YourColorControl> _colors = new Dictionary<string, YourColorControl>(); //find a way of filling this dictionary

string colorStr = "Accent 1";
if(!_colors.ContainsKey(colorStr)
    throw new Exception("No color with this name");

byte red = _colors[colorStr].R;
byte green = _colors[colorStr].G;
byte blue = _colors[colorStr].B;
  

Ответ №3:

Вы можете попробовать готовое к использованию решение, подобное here