色彩

サンプルを参照します。 サンプルを参照する

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

Color オブジェクトは、 Color コンストラクターを使用して作成できます。これを使用して、グレーの色合い、RGB 値、または透明度を持つ RGB 値を指定できます。 コンストラクタのオーバーロードは、0 から 1 の範囲の値、floatbyte、およびintの値を受け取ります。

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

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

  • Color.FromRgb 0 から 1 の範囲内の RGB 値から float を生成します。
  • Color.FromRgb 0 から 1 までの範囲の RGB 値から double します。
  • Color.FromRgb 0 から 255 の範囲の RGB 値から byte を取得します。
  • Color.FromIntint 0〜255 の範囲の RGB 値から生成されます。
  • Color.FromRgba 0 から 1 の範囲の RGBA 値から float を作成します。
  • Color.FromRgba 0 から 1 の範囲の RGBA 値から double を生成します。
  • Color.FromRgbabyte であり、RGBA 値は 0 から 255 の範囲です。
  • Color.FromRgba は、int が 0 から 255 の範囲内の RGBA 値からです。
  • Color.FromRgba は、"#RRGGBBAA" または "#RRGGBB" または "#RGBA" または "#RGB" の形式の stringベースの 16 進数の値です。各文字は、アルファ、赤、緑、青の各チャネルの 16 進数に対応します。
  • Color.FromHsla を HSLA 値 float から取得します。
  • Color.FromHsladouble HSLA 値から取得します。
  • Color.FromHsv 0 から 1 までの範囲にある HSV 値から float 取得します。
  • Color.FromHsv 0 から 255 までの範囲の HSV 値から int 生成される。
  • Color.FromHsvafloat HSVA 値から取得します。
  • Color.FromHsva を HSV 値 int 返します。
  • 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 進数に対応します。

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

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

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

さらに、色の特性は、次の方法から取得できます。

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

名前付き色

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

色を変更する

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

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

Conversions

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

  • AsPaintは、SolidPaint プロパティが色に設定されているColor オブジェクトを返します。
  • ToHexは、stringの 16 進数Color表現を返します。
  • ToArgbHexは、stringの ARGB 16 進数Color表現を返します。
  • ToRgbaHexは、stringの RGBA 16 進数Color表現を返します。
  • ToIntは、intの ARGB Color表現を返します。
  • ToUintは、uintの ARGB Color表現を返します。
  • ToRgbは、Colorを、byte引数として返される RGB out値に変換します。
  • ToRgbaは、Colorを、byte引数として返される RGBA 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
};