Condividi tramite


Xamarin.Essentials: Convertitori di colori

La classe ColorConverters in Xamarin.Essentials fornisce diversi metodi helper per System.Drawing.Color.

Operazioni preliminari

Per iniziare a usare questa API, leggere la guida introduttiva per Xamarin.Essentials assicurarsi che la libreria sia installata e configurata correttamente nei progetti.

Uso dei convertitori di colori

Aggiungere un riferimento a Xamarin.Essentials nella classe :

using Xamarin.Essentials;

Quando si lavora con System.Drawing.Color è possibile usare i convertitori predefiniti di Xamarin.Essentials per creare un colore da Hsl, Hex o UInt.

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

Uso delle estensioni di colore

I metodi di estensione su System.Drawing.Color consentono di applicare proprietà diverse:

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

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

Esistono diversi altri metodi di estensione tra cui:

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

Uso delle estensioni di piattaforma

È inoltre possibile convertire System.Drawing.Color alla struttura di colore specifica della piattaforma. Questi metodi possono essere chiamati solo dai progetti iOS, Android e 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();

Il metodo ToSystemColor si applica a Android.Graphics.Color, UIKit.UIColor e Windows.UI.Color.

API

Altri video di Xamarin sono disponibili su Channel 9 e YouTube.