![]() |
Системные и известные NET цветаКласс Color C# NET может представлять более шестнадцати миллионов цветовых оттенков с более чем двумястами пятьюдесятью уровнями прозрачности. Однако часто требуется простой, именованный цвет или системный цвет. Они могут быть получены с помощью перечисления KnownColor. ![]() Известные цвета Когда вы работаете с цветами, вы почти наверняка будете использовать цветовую структуру. Этот тип позволяет представлять цвета, используя свойства для красных, зеленых и синих элементов цвета, а также альфа-значение, которое определяет, насколько непрозрачным выглядит цвет. Значение альфа, равное нулю, является полностью прозрачным,а значение 255 - не прозрачным. Вместе Альфа, красный, зеленый и синий элементы дают значение ARGB. Во многих случаях точный контроль цвета не требуется. Вместо этого вы можете выбрать из определенного набора именованных цветов. Перечисление KnownColor предоставляет такую коллекцию цветов, каждый из которых имеет имя, которое может быть преобразовано в значения ARGB. Чтобы выполнить преобразование, вы просто передаете значение KnownColor в метод FromKnownColor структуры цвета, который является статическим методом C#. using System.Drawing; KnownColor kc = KnownColor.Red; Color c = Color.FromKnownColor(kc); Console.WriteLine("R: {0}", c.R); Console.WriteLine("G: {0}", c.G); Console.WriteLine("B: {0}", c.B); /* ВЫХОД Р: 255Г: 0B: 0 */Кроме того, перечисление KnownColor содержит константы, относящиеся к системным цветам, таким как цвет рабочего стола или фона окна. Эти цвета варьируются в зависимости от предпочтений пользователя. Существует большое количество таких цветов, которые могут быть получены и преобразованы в значение цвета. Они заключаются в следующем:
using System.Drawing; KnownColor kc = KnownColor.ButtonFace; Color c = Color.FromKnownColor(kc); Console.WriteLine("R: {0}", c.R); Console.WriteLine("G: {0}", c.G); Console.WriteLine("B: {0}", c.B); /* OUTPUT R: 240G: 240B: 240 */Получение известного цвета из экземпляра Color Если вы создали значение цвета из KnownColor, будь то именованный или системный цвет, вы можете прочитать значение KnownColor, используя метод ToKnownColor Color. Однако, если цвет был создан из значения ARGB, вызывающего этот метод, возвращает ноль, даже если значение ARGB полностью соответствует значению известного цвета. Приведенный ниже код на языке си шарп создает ButtonFace из системного цвета, прежде чем получить известный цвет и вывести значение. Color c = Color.FromKnownColor(KnownColor.ButtonFace); KnownColor kc = c.ToKnownColor(); Console.WriteLine(kc); // ButtonFaceМожно использовать три свойства, чтобы определить, использовался ли известный цвет при создании экземпляра значения цвета. Каждый возвращает логическое значение:
Color c = Color.FromKnownColor(KnownColor.AliceBlue); Console.WriteLine(c.IsKnownColor); trueConsole.WriteLine(c.IsNamedColor); trueConsole.WriteLine(c.IsSystemColor); // falseСистемные цвета Другим способом получения системных цветов является класс SystemColors. Он содержит ряд статических свойств, которые отражают системные значения цвета в перечислении KnownColor. Каждое свойство возвращает цвет. Приведенный ниже код демонстрирует это, получая цвет лица кнопки и выводя значения красного, зеленого и синего элементов. Color c = SystemColors.ButtonFace;Console.WriteLine(c.IsKnownColor); trueConsole.WriteLine(c.IsNamedColor); trueConsole.WriteLine(c.IsSystemColor); // true ![]() Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда. ![]() |
Мои услуги
|
© upread.ru 2013-2023 При перепечатке активная ссылка на сайт обязательна. |