次の方法で共有


Browse sample. サンプルを参照する

Microsoft.Maui.Graphics 名前空間の Color クラスでは、色を Red-Green-Blue (RGB) 値、Hue-Saturation-Luminosity (HSL) 値、Hue-Saturation-Value (HSV) 値、または色名で指定できます。 また、アルファ チャネルを使用して透明度を示すこともできます。

Color オブジェクトは Color コンストラクターを使用して作成できます。これを使用して、灰色の影、RGB 値、または透明度を持つ RGB 値を指定できます。 コンストラクター オーバーロードは、0 から 1 の範囲の float 値と、byte 値、int 値を受け入れます。

Note

既定の Color コンストラクターは、黒い Color オブジェクトを作成します。

次の静的メソッドを使用して Color オブジェクトを作成することもできます。

  • Color.FromRgb を、0 から 1 までの範囲の RGB 値の float から。
  • Color.FromRgb を、0 から 1 までの範囲の RGB 値の double から。
  • Color.FromRgb を、0 から 255 までの範囲の RGB 値の byte から。
  • Color.FromInt を、0 から 255 までの範囲の RGB 値の int から。
  • Color.FromRgba を、0 から 1 までの範囲の RGBA 値の float から。
  • Color.FromRgba を、0 から 1 までの範囲の RGBA 値の double から。
  • Color.FromRgba を、0 から 255 までの範囲の RGBA 値の byte から。
  • Color.FromRgba を、0 から 255 までの範囲の RGBA 値の int から。
  • Color.FromRgba を、「#RRGGBBAA」、「#RRGGBB」、「#RGBA」または「#RGB」の形式の、string ベースの 16 進数値から。各文字は、アルファ、赤、緑、青の各チャネルの 16 進数字に対応します。
  • Color.FromHsla を、float HSLA 値から。
  • Color.FromHsla を、double HSLA 値から。
  • Color.FromHsv を、0 から 1 までの範囲の HSV 値の float から。
  • Color.FromHsv を、0 から 255 までの範囲の HSV 値の int から。
  • Color.FromHsva を、float HSVA 値から。
  • Color.FromHsva を、int HSV 値から。
  • Color.FromInt を、(B + 256 * (G + 256 * (R + 256 * A))) で計算される int 値から。
  • Color.FromUint を、(B + 256 * (G + 256 * (R + 256 * A))) で計算される uint 値から。
  • Color.FromArgb を、「#AARRGGBB」、「#RRGGBB」、「#ARGB」または「#RGB」の形式の、string ベースの 16 進数値から。各文字は、アルファ、赤、緑、青の各チャネルの 16 進数字に対応します。

Note

上記のメソッドに加えて、Color クラスには、string 引数から Color オブジェクトを作成する ParseTryParse のメソッドもあります。

一度作成された Color オブジェクトは変更できません。 色の特性は、0 から 1 の範囲の、次の float フィールドから取得できます。

  • Red は、色の赤チャネルを表します。
  • Green は、色の緑チャネルを表します。
  • Blue は、色の青チャネルを表します。
  • Alpha は、色のアルファ チャネルを表します。

また、色の特性は次の方法で取得できます。

  • GetHue は、色の色相チャネルを表す float を返します。
  • GetSaturation は、色の彩度チャネルを表す float を返します。
  • GetLuminosity は、色の明度チャネルを表す float を返します。

名前付きの色

Colors クラスは、AntiqueWhiteMidnightBlueYellowGreen のような一般的な色のための 148 の パブリック静的読み取り専用フィールドを定義します。

色を変更する

次のインスタンス メソッドでは、既存の色を変更して新しい色を作成します。

  • AddLuminosity は、指定されたデルタ値に光度値を追加して Color を返します。
  • GetComplementary は、補完的な Color を返します。
  • MultiplyAlpha は、指定された float 値をアルファ値に乗算して Color を返します。
  • WithAlpha は、アルファ値を指定された float 値に置き換えて Color を返します。
  • WithHue は、色相値を指定された float 値に置き換えて Color を返します。
  • WithLuminosityColor を返し、光度値を指定された float 値に置き換えます。
  • WithSaturationColor を返し、飽和値を指定された float 値に置き換えます。

変換

次のインスタンス メソッドは、Color を代替表現に変換します。

  • AsPaint は、Color プロパティがその色に設定されている SolidPaint オブジェクトを返します。
  • ToHex は、Color の 16 進数 string 表現を返します。
  • ToArgbHex は、Color の ARGB 16 進数 string 表現を返します。
  • ToRgbaHex は、Color の RGBA 16 進数 string 表現を返します。
  • ToInt は、Color の ARGB int 表現を返します。
  • ToUint は、Color の ARGB uint 表現を返します。
  • ToRgbは、out 引数として返される RGB byte 値に Color を変換します。
  • ToRgbaは、out 引数として返される RGBA byte 値に Color を変換します。
  • ToHsl は、out 引数として渡される HSL float 値に Color を変換します。

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