색
네임스페이 Color 스에서 클래스를 Microsoft.Maui.Graphics 사용하면 색을 RGB(Red-Green-Blue) 값, HSL(Hue-Saturation-Luminosity) 값, HSV(Hue-Saturation-Value) 값 또는 색 이름으로 지정할 수 있습니다. 알파 채널을 사용하여 투명성을 나타낼 수도 있습니다.
Color 개체는 회색 음영, RGB 값 또는 투명도가 있는 RGB 값을 지정하는 데 사용할 수 있는 생성자를 사용하여 만들 Color 수 있습니다. 생성자 오버로드는 0에서 1 byte
사이의 값과 int
값을 허용 float
합니다.
다음 정적 메서드를 사용하여 개체를 만들 Color 수도 있습니다.
Color.FromRgb
0에서float
1까지의 RGB 값에서Color.FromRgb
0에서double
1까지의 RGB 값에서Color.FromRgb
0에서byte
255까지의 RGB 값에서Color.FromInt
0에서int
255까지의 RGB 값에서Color.FromRgba
0에서float
1까지의 RGBA 값에서Color.FromRgba
0에서double
1까지의 RGBA 값에서Color.FromRgba
0에서byte
255까지의 RGBA 값에서Color.FromRgba
0에서int
255까지의 RGBA 값에서Color.FromRgba
string
"#RRGGBBAA" 또는 "#RRGGBB" 또는 "#RGBA" 또는 "#RGB" 형식의 -based 16진수 값에서 각 문자는 알파, 빨강, 녹색 및 파란색 채널의 16진수에 해당합니다.Color.FromHsla
HSLA 값에서float
Color.FromHsla
HSLA 값에서double
Color.FromHsv
0에서float
1까지의 HSV 값에서Color.FromHsv
0에서int
255까지의 HSV 값에서Color.FromHsva
HSVA 값에서float
Color.FromHsva
HSV 값에서int
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" 형식의 -based 16진수 값에서 각 문자는 알파, 빨강, 녹색 및 파랑 채널의 16진수에 해당합니다.
개체를 Color 만든 후에는 변경할 수 없습니다. 색의 특징은 0에서 1까지의 다음 float
필드에서 얻을 수 있습니다.
또한 색의 특성은 다음 메서드에서 얻을 수 있습니다.
- GetHue- 색의 색조 채널을 나타내는 값을 반환
float
합니다. - GetSaturation- 색의 채도 채널을 나타내는 값을 반환
float
합니다. - GetLuminosity- 색의 광도 채널을 나타내는 값을 반환
float
합니다.
명명된 색
클래스는 Colors 공용 색(예: AntiqueWhite
, MidnightBlue
및 YellowGreen
)에 대한 148개의 공용 정적 읽기 전용 필드를 정의합니다.
색 수정
다음 인스턴스 메서드는 기존 색을 수정하여 새 색을 만듭니다.
- AddLuminosity 는 Color 제공된 델타 값에 광도 값을 추가하여 반환합니다.
- GetComplementary 는 보완을 반환합니다 Color.
- MultiplyAlpha 는 Color 알파 값을 제공된
float
값으로 곱하여 반환합니다. - WithAlpha 는 Color알파 값을 제공된
float
값으로 바꿔서 반환합니다. - WithHueColor는 색조 값을 제공된
float
값으로 바꿔서 반환합니다. - WithLuminosityColor는 광도 값을 제공된
float
값으로 바꿔서 반환합니다. - WithSaturationColor는 채도 값을 제공된
float
값으로 바꿔서 반환합니다.
변환
다음 인스턴스 메서드는 대체 표현으로 Color 변환합니다.
- AsPaintSolidPaint 는 속성이 Color 색으로 설정된 개체를 반환합니다.
- ToHex 는 16진
string
수 표현을 반환합니다 Color. - ToArgbHex 는 ARGB 16진수
string
표현을 반환합니다 Color. - ToRgbaHex 는 RGBA 16진수
string
표현을 반환합니다 Color. - ToInt 는 .의 ARGB
int
표현을 반환합니다 Color. - ToUint 는 .의 ARGB
uint
표현을 반환합니다 Color. - ToRgb 는 Color 인수로 반환되는 RGB
byte
값으로out
변환합니다. - ToRgba 는 Color 인수로 반환되는 RGBA
byte
값으로out
변환합니다. - ToHsl 는 Color 인수로 전달되는 HSL
float
값으로out
변환합니다.
예제
XAML에서 색은 일반적으로 명명된 값을 사용하거나 16진수로 참조됩니다.
<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
};
.NET MAUI