Color クラスでは、Microsoft.Maui.Graphics名前空間で、色を Red-Green-Blue (RGB) 値、Hue-Saturation-Luminosity (HSL) 値、Hue-Saturation-Value (HSV) 値、または色名で指定できます。 アルファ チャネルは、透明度を示すためにも使用できます。
Color オブジェクトは、 Color コンストラクターを使用して作成できます。これを使用して、グレーの色合い、RGB 値、または透明度を持つ RGB 値を指定できます。 コンストラクタのオーバーロードは、0 から 1 の範囲の値、float、byte、およびintの値を受け取ります。
次の静的メソッドを使用して、 Color オブジェクトを作成することもできます。
-
Color.FromRgb0 から 1 の範囲内の RGB 値からfloatを生成します。 -
Color.FromRgb0 から 1 までの範囲の RGB 値からdoubleします。 -
Color.FromRgb0 から 255 の範囲の RGB 値からbyteを取得します。 -
Color.FromIntはint0〜255 の範囲の RGB 値から生成されます。 -
Color.FromRgba0 から 1 の範囲の RGBA 値からfloatを作成します。 -
Color.FromRgba0 から 1 の範囲の RGBA 値からdoubleを生成します。 -
Color.FromRgbaはbyteであり、RGBA 値は 0 から 255 の範囲です。 -
Color.FromRgbaは、intが 0 から 255 の範囲内の RGBA 値からです。 -
Color.FromRgbaは、"#RRGGBBAA" または "#RRGGBB" または "#RGBA" または "#RGB" の形式のstringベースの 16 進数の値です。各文字は、アルファ、赤、緑、青の各チャネルの 16 進数に対応します。 -
Color.FromHslaを HSLA 値floatから取得します。 -
Color.FromHslaをdoubleHSLA 値から取得します。 -
Color.FromHsv0 から 1 までの範囲にある HSV 値からfloat取得します。 -
Color.FromHsv0 から 255 までの範囲の HSV 値からint生成される。 -
Color.FromHsvaをfloatHSVA 値から取得します。 -
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 オブジェクトは変更できません。 色の特性は、0 から 1 の範囲の次の float フィールドから取得できます。
さらに、色の特性は、次の方法から取得できます。
-
GetHueは、色の色相チャネルを表す
floatを返します。 -
GetSaturationは、色の彩度チャネルを表す
floatを返します。 -
GetLuminosityは、色の明度チャネルを表す
floatを返します。
名前付き色
Colors クラスは、AntiqueWhite、MidnightBlue、YellowGreenなどの一般的な色に対して 148 個のパブリック静的読み取り専用フィールドを定義します。
色を変更する
次のインスタンス メソッドは、既存の色を変更して新しい色を作成します。
- AddLuminosity は、指定されたデルタ値に輝度値を追加して Color を返します。
- GetComplementary は、補完的な Colorを返します。
-
MultiplyAlphaは、アルファ値に指定されたColor値を乗算して
floatを返します。 -
WithAlpha は Colorを返し、アルファ値を指定された
float値に置き換えます。 -
WithHue は Colorを返し、hue 値を指定された
float値に置き換えます。 -
WithLuminosity は Colorを返し、明度値を指定された
float値に置き換えます。 -
WithSaturation は Colorを返し、飽和値を指定された
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引数として返される RGBout値に変換します。 -
ToRgbaは、Colorを、
byte引数として返される RGBAout値に変換します。 -
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
};
.NET MAUI
サンプルを参照する