Поделиться через


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

Другие видео о Xamarin см. на Channel 9 и YouTube.