Xamarin.Essentials:颜色转换器

Xamarin.Essentials 中的 ColorConverters 类为 System.Drawing.Color 提供了几种帮助程序方法。

入门

若要开始使用此 API,请阅读 Xamarin.Essentials 的入门指南,确保在项目中正确安装和设置库。

使用颜色转换器

在类中添加对 Xamarin.Essentials 的引用:

using Xamarin.Essentials;

使用 System.Drawing.Color 时,可以使用 Xamarin.Essentials 的内置转换器从 Hsl、Hex 或 UInt 创建颜色。

var blueHex = ColorConverters.FromHex("#3498db");
var blueHsl = ColorConverters.FromHsl(204, 70, 53);
var blueUInt = ColorConverters.FromUInt(3447003);

使用颜色扩展

通过 System.Drawing.Color 上的扩展方法可以应用不同的属性:

var blue = ColorConverters.FromHex("#3498db");

// Multiplies the current alpha by 50%
var blueWithAlpha = blue.MultiplyAlpha(.5f);

还有其他几种扩展方法,包括:

  • GetComplementary
  • MultiplyAlpha
  • ToUInt
  • WithAlpha
  • WithHue
  • WithLuminosity
  • WithSaturation

使用平台扩展

此外,可以将 System.Drawing.Color 转换为平台特定的颜色结构。 这些方法只能从 iOS、Android 和 UWP 项目中调用。

var system = System.Drawing.Color.FromArgb(255, 52, 152, 219);

// Extension to convert to Android.Graphics.Color, UIKit.UIColor, or Windows.UI.Color
var platform = system.ToPlatformColor();
var platform = new Android.Graphics.Color(52, 152, 219, 255);

// Back to System.Drawing.Color
var system = platform.ToSystemColor();

ToSystemColor 方法适用于 Android.Graphics.Color、UIKit.UIColor 和 Windows.UI.Color。

API

第 9 频道YouTube 上查找更多 Xamarin 视频。