共用方式為


顏色

Browse sample. 流覽範例

命名空間 Color 中的 Microsoft.Maui.Graphics 類別可讓您將色彩指定為 Red-Green-Blue (RGB) 值、Hue-飽和度 -Luminosity (HSL) 值、Hue-飽和值 (HSV) 值或色彩名稱。 Alpha 色板也可用來表示透明度。

Color 物件可以使用建構函式來建立 Color ,可用來指定灰色陰影、RGB 值或具有透明度的 RGB 值。 建構函式多載接受 float 介於 0 到 1、 byteint 值之間的值。

注意

默認 Color 建構函式會建立黑色 Color 物件。

您也可以使用下列靜態方法來建立 Color 物件:

  • Color.FromRgbfloat 範圍從 0 到 1 的 RGB 值。
  • Color.FromRgbdouble 範圍從 0 到 1 的 RGB 值。
  • Color.FromRgbbyte 範圍從 0 到 255 的 RGB 值。
  • Color.FromIntint 範圍從 0 到 255 的 RGB 值。
  • Color.FromRgbafloat 範圍從 0 到 1 的 RGBA 值。
  • Color.FromRgbadouble 範圍從 0 到 1 的 RGBA 值。
  • Color.FromRgbabyte 範圍從 0 到 255 的 RGBA 值。
  • Color.FromRgbaint 範圍從 0 到 255 的 RGBA 值。
  • Color.FromRgbastring從格式為 「#RRGGBBAA」 或 「#RRGGBB」 或 「#RGBA」 或 「#RGB」 的十六進位值,其中每個字母會對應至 alpha、紅色、綠色和藍色通道的十六進位數位。
  • Color.FromHsla 來自 float HSLA 值。
  • Color.FromHsla 來自 double HSLA 值。
  • Color.FromHsvfloat 範圍從 0 到 1 的 HSV 值。
  • Color.FromHsvint 範圍從 0 到 255 的 HSV 值。
  • Color.FromHsva 來自 float HSVA 值。
  • Color.FromHsva 來自 int HSV 值。
  • Color.FromIntint從計算為 (B+ 256 * (G + 256 * (R + 256 * A)) 的值。
  • Color.FromUintuint從計算為 (B+ 256 * (G + 256 * (R + 256 * A)) 的值。
  • Color.FromArgbstring從格式為 「#AARRGGBB」 或 「#RRGGBB」 或 「#ARGB」 或 「RGB」 的十六進位值,其中每個字母會對應到alpha、紅色、綠色和藍色通道的十六進位數位。

注意

除了上述方法之外,類別Color也具有 ParseTryParse 方法,可從string自變數建立Color物件。

建立之後, Color 對像是不可變的。 色彩的特性可以從下列 float 欄位取得,範圍從 0 到 1:

  • Red,表示色彩的紅色色板。
  • Green,表示色彩的綠色色板。
  • Blue,表示色彩的藍色色板。
  • Alpha,表示色彩的Alpha色板。

此外,可以從下列方法取得色彩的特性:

  • GetHue,其會傳 float 回 ,表示色彩的色調色板。
  • GetSaturation,其會傳 float 回 ,表示色彩的飽和度色板。
  • GetLuminosity,其會傳 float 回 ,表示色彩的亮度色板。

具名色彩

類別 Colors 會針對通用色彩定義 148 個公用靜態只讀字段,例如 AntiqueWhiteMidnightBlueYellowGreen

修改色彩

下列實例方法會修改現有的色彩,以建立新的色彩:

轉換

下列實例方法會將 轉換成 Color 替代表示法:

範例

在 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
};