Xamarin.Essentials: преобразователи цветов
Класс ColorConverters в Xamarin.Essentials предоставляет несколько вспомогательных методов для 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
- Исходный код преобразователей цвета
- Документация по API преобразователей цвета
- Исходный код расширений цвета
- Документация по API расширений цвета