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。