色
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
を、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 進数字に対応します。
一度作成された 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