다음을 통해 공유


Browse sample. 샘플 찾아보기

네임스페이 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 개체를 만듭니다.

다음 정적 메서드를 사용하여 개체를 만들 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.FromRgbastring"#RRGGBBAA" 또는 "#RRGGBB" 또는 "#RGBA" 또는 "#RGB" 형식의 -based 16진수 값에서 각 문자는 알파, 빨강, 녹색 및 파란색 채널의 16진수에 해당합니다.
  • Color.FromHslaHSLA 값에서 float
  • Color.FromHslaHSLA 값에서 double
  • Color.FromHsv 0에서 float 1까지의 HSV 값에서
  • Color.FromHsv 0에서 int 255까지의 HSV 값에서
  • Color.FromHsvaHSVA 값에서 float
  • Color.FromHsvaHSV 값에서 int
  • Color.FromIntint(B + 256 * (G + 256 * (R + 256 * A))로 계산 된 값에서)
  • Color.FromUint 로 계산된 uint 값에서(B + 256 * (G + 256 * (R + 256 * A)))
  • Color.FromArgbstring"#AARRGGBB" 또는 "#RRGGBB" 또는 "#ARGB" 또는 "RGB" 형식의 -based 16진수 값에서 각 문자는 알파, 빨강, 녹색 및 파랑 채널의 16진수에 해당합니다.

참고 항목

위에 Color 나열된 메서드 외에도 클래스에는 Parse 인수에서 string 개체를 만드는 Color 메서드도 있습니다TryParse.

개체를 Color 만든 후에는 변경할 수 없습니다. 색의 특징은 0에서 1까지의 다음 float 필드에서 얻을 수 있습니다.

  • Red- 색의 빨간색 채널을 나타냅니다.
  • Green색의 녹색 채널을 나타내는 입니다.
  • Blue- 색의 파란색 채널을 나타냅니다.
  • Alpha- 색의 알파 채널을 나타냅니다.

또한 색의 특성은 다음 메서드에서 얻을 수 있습니다.

  • GetHue- 색의 색조 채널을 나타내는 값을 반환 float 합니다.
  • GetSaturation- 색의 채도 채널을 나타내는 값을 반환 float 합니다.
  • GetLuminosity- 색의 광도 채널을 나타내는 값을 반환 float 합니다.

명명된 색

클래스는 Colors 공용 색(예: AntiqueWhite, MidnightBlueYellowGreen)에 대한 148개의 공용 정적 읽기 전용 필드를 정의합니다.

색 수정

다음 인스턴스 메서드는 기존 색을 수정하여 새 색을 만듭니다.

변환

다음 인스턴스 메서드는 대체 표현으로 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.
  • ToRgbColor 인수로 반환되는 RGB byte 값으로 out 변환합니다.
  • ToRgbaColor 인수로 반환되는 RGBA byte 값으로 out 변환합니다.
  • ToHslColor 인수로 전달되는 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
};