Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс Color в Microsoft.Maui.Graphics пространстве имен позволяет указать цвета в виде значений Red-Green-Blue (RGB), значений Hue-Saturation-Luminosity (HSL), Hue-Saturation-Value (HSV) или с именем цвета. Для обозначения прозрачности также доступен альфа-канал.
Color Объекты можно создавать с Color помощью конструкторов, которые можно использовать для указания серого оттенка, значения RGB или RGB-значения с прозрачностью. Перегрузки конструктора принимают float
значения от 0 до 1, byte
а также int
значения.
Для создания Color объектов можно также использовать следующие статические методы:
Color.FromRgb
отfloat
значений RGB, которые варьируются от 0 до 1.Color.FromRgb
отdouble
значений RGB, которые варьируются от 0 до 1.Color.FromRgb
отbyte
значений RGB, которые варьируются от 0 до 255.Color.FromInt
отint
значений RGB, которые варьируются от 0 до 255.Color.FromRgba
отfloat
значений RGBA, которые варьируются от 0 до 1.Color.FromRgba
отdouble
значений RGBA, которые варьируются от 0 до 1.Color.FromRgba
отbyte
значений RGBA, которые варьируются от 0 до 255.Color.FromRgba
отint
значений RGBA, которые варьируются от 0 до 255.Color.FromRgba
string
из шестнадцатеричного значения в виде "#RRGGBBAA" или "#RRGGBB" или "#RGBA" или "#RGB", где каждая буква соответствует шестнадцатеричной цифре для альфа, красного, зеленого и синего каналов.Color.FromHsla
изfloat
значений HSLA.Color.FromHsla
изdouble
значений HSLA.Color.FromHsv
отfloat
значений HSV, которые варьируются от 0 до 1.Color.FromHsv
отint
значений HSV, которые варьируются от 0 до 255.Color.FromHsva
изfloat
значений HSVA.Color.FromHsva
изint
значений HSV.Color.FromInt
из значения, вычисляемогоint
как (B + 256 * (G + 256 * (R + 256 * A)).Color.FromUint
из значения, вычисляемогоuint
как (B + 256 * (G + 256 * (R + 256 * A)).Color.FromArgb
string
из шестнадцатеричного значения в виде "#AARRGGBB" или "#RRGGBB" или "#ARGB" или "RGB", где каждая буква соответствует шестнадцатеричной цифре для альфа, красного, зеленого и синего каналов.
Примечание.
Помимо методов, перечисленных выше, Color класс также имеет Parse и TryParse методы, которые создают Color объекты из string
аргументов.
После создания Color объект неизменяем. Характеристики цвета можно получить из следующих float
полей, которые варьируются от 0 до 1:
- Red, представляющий красный канал цвета.
- Green, представляющий зеленый канал цвета.
- Blue, представляющий синий канал цвета.
- Alpha, представляющий альфа-канал цвета.
Кроме того, характеристики цвета можно получить из следующих методов:
- GetHue, который возвращает
float
значение, представляющее канал оттенка цвета. - GetSaturation— возвращает
float
значение, представляющее канал насыщенности цвета. - GetLuminosity, который возвращает
float
значение, представляющее канал светимости цвета.
Именованные цвета
Класс Colors определяет 148 общедоступных статических полей только для чтения для общих цветов, таких как AntiqueWhite
, MidnightBlue
и YellowGreen
.
Изменение цвета
Следующие методы экземпляра изменяют существующий цвет, чтобы создать новый цвет:
- AddLuminosityColor возвращает значение, добавляя значение светимости в указанное разностное значение.
- GetComplementary возвращает дополнительное Colorзначение.
- MultiplyAlpha возвращает значение Color , умножая альфа-значение на указанное
float
значение. - WithAlpha возвращает значение Color, заменяющее альфа-значение указанным
float
значением. - WithHueColorвозвращает значение, заменяющее значение оттенка указанным
float
значением. - WithLuminosityColorвозвращает значение, заменяющее значение светимости указанным
float
значением. - WithSaturationColorвозвращает значение, заменяющее значение насыщенности указанным
float
значением.
Преобразования
Следующие методы экземпляра преобразуются Color в альтернативное представление:
- AsPaintSolidPaint возвращает объект, свойство которого Color задано цветом.
- ToHexвозвращает шестнадцатеричное
string
представление .Color - ToArgbHex возвращает шестнадцатеричное
string
представление ColorARGB. - ToRgbaHex возвращает шестнадцатеричное
string
представление ColorRGBA. - ToInt возвращает представление ARGB
int
объекта Color. - ToUint возвращает представление ARGB
uint
объекта Color. - ToRgb преобразует Color значения RGB
byte
, возвращаемые в качествеout
аргументов. - ToRgbaColor преобразует значения RGBA
byte
, возвращаемые в качествеout
аргументов. - ToHsl преобразует Color значения HSL
float
, передаваемые в качествеout
аргументов.
Примеры
В XAML цвета обычно ссылаются с помощью именованных значений или шестнадцатеричных значений:
<Label Text="Sea color"
TextColor="Aqua" />
<Label Text="RGB"
TextColor="#00FF00" />
<Label Text="Alpha plus RGB"
TextColor="#CC00FF00" />
<Label Text="Tiny RGB"
TextColor="#0F0" />
<Label Text="Tiny Alpha plus RGB"
TextColor="#C0F0" />
В C#цвета обычно ссылаются с помощью именованных значений или со статическими методами:
Label red = new Label { Text = "Red", TextColor = Colors.Red };
Label orange = new Label { Text = "Orange", TextColor = Color.FromHex("FF6A00") };
Label yellow = new Label { Text = "Yellow", TextColor = Color.FromHsla(0.167, 1.0, 0.5, 1.0) };
Label green = new Label { Text = "Green", TextColor = Color.FromRgb (38, 127, 0) };
Label blue = new Label { Text = "Blue", TextColor = Color.FromRgba(0, 38, 255, 255) };
Label indigo = new Label { Text = "Indigo", TextColor = Color.FromRgb (0, 72, 255) };
Label violet = new Label { Text = "Violet", TextColor = Color.FromHsla(0.82, 1, 0.25, 1) };
В следующем примере используется OnPlatform
расширение разметки для выборочного задания цвета ActivityIndicator:
<ActivityIndicator Color="{OnPlatform AliceBlue, iOS=MidnightBlue}"
IsRunning="True" />
Эквивалентный код на C# выглядит так:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = DeviceInfo.Platform == DevicePlatform.iOS ? Colors.MidnightBlue : Colors.AliceBlue,
IsRunning = true
};