2016-09-24 10 views
0

Ich möchte eine Farbe von Benutzer (es ist eine Xamarin.Forms.Color) in meiner lokalen Datenbank gespeichert, so dass ich es als String mit ToString-Methode gespeichert, die gespeicherte Farbe ist in dieser Syntax: [Farbe: A = 1, R = 1, G = 0.400000005960464, B = 1, Farbton = 0.833333313465118, Sättigung = 1, Luminosität = 0.699999988079071] Ich möchte es aus der Datenbank abrufen, aber ich muss es wieder in Xamarin.Forms konvertieren. Farbe (es hat Methode wie Color.FromHex oder Color.FromHlsa oder Color.FromRgb ...)Xamarin Forms Farbe

Kann mir jemand sagen, der beste Weg, um es zurück zu konvertieren?

Dank

+0

Wie erhalten Sie Farbe vom Benutzer? Ist es eine Liste von Konstanten oder von rgb oder von hex? – FetFrumos

+0

es ist eine Liste von Xamarin Formen Farben – Mireille

Antwort

0

Xamarin.FormsColor s kann entweder aus ARGB oder aus AHSL erstellt werden. Die Konvertierung von einem Modus in den anderen erfolgt automatisch, so dass Sie nie beide Formate in Ihrer Datenbank speichern müssen (Sie speichern ARGBHSL).

jetzt gibt es viele Möglichkeiten, die Farbe aus einer Teilmenge dieser Werte zu schaffen:

public Color(double r, double g, double b, double a); 
public static Color FromHex(string hex); //one of the following: #rgb, #argb, #rrggbb, #aarrggbb, the leading # is optional 
public static Color FromUint(uint argb); 
public static Color FromRgba(int r, int g, int b, int a); 
public static Color FromRgb(int r, int g, int b); 
public static Color FromRgba(double r, double g, double b, double a); 
public static Color FromRgb(double r, double g, double b); 
public static Color FromHsla(double h, double s, double l, double a = 1d); 

Ich bin mir ziemlich sicher, dass Sie entweder einen Konstruktor oder eine Factory-Methode in diejenigen, die passt finden Ihre braucht.

+0

konvertieren Dank für Ihre Antwort Ich werde versuchen, die RGBA-Farbe in vier verschiedenen Variablen zu speichern und zu bekommen es zurück von der Datenbank. – Mireille