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 値を受け入れます。
次の静的メソッドを使用して 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を、floatHSLA 値から。Color.FromHslaを、doubleHSLA 値から。Color.FromHsvを、0 から 1 までの範囲の HSV 値のfloatから。Color.FromHsvを、0 から 255 までの範囲の HSV 値のintから。Color.FromHsvaを、floatHSVA 値から。Color.FromHsvaを、intHSV 値から。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 オブジェクトは変更できません。 色の特性は、0 から 1 の範囲の、次の float フィールドから取得できます。
また、色の特性は次の方法で取得できます。
- GetHue は、色の色相チャネルを表す
floatを返します。 - GetSaturation は、色の彩度チャネルを表す
floatを返します。 - GetLuminosity は、色の明度チャネルを表す
floatを返します。
名前付きの色
Colors クラスは、AntiqueWhite、MidnightBlue、YellowGreen のような一般的な色のための 148 の パブリック静的読み取り専用フィールドを定義します。
色を変更する
次のインスタンス メソッドでは、既存の色を変更して新しい色を作成します。
- AddLuminosity は、指定されたデルタ値に光度値を追加して Color を返します。
- GetComplementary は、補完的な Color を返します。
- MultiplyAlpha は、指定された
float値をアルファ値に乗算して Color を返します。 - WithAlpha は、アルファ値を指定された
float値に置き換えて Color を返します。 - WithHue は、色相値を指定された
float値に置き換えて Color を返します。 - WithLuminosity は Color を返し、光度値を指定された
float値に置き換えます。 - WithSaturation は Color を返し、飽和値を指定された
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引数として返される RGBbyte値に Color を変換します。 - ToRgbaは、
out引数として返される RGBAbyte値に Color を変換します。 - ToHsl は、
out引数として渡される HSLfloat値に 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
};
.NET MAUI
サンプルを参照する