Kako lahko dobim barvo iz heksadecimalne barvne kode (npr. #FFDFD991
)?
Berem datoteko in dobim šestnajstiško barvno kodo. Ustvariti moram ustrezen primerek System.Windows.Media.Color
za šestnajstiško barvno kodo. Ali je v ogrodju vgrajena metoda za to?
Če mislite na kode RGB tipa HTML (imenovane kode Hex, na primer #FFCC66), uporabite razred ColorTranslator:
System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#FFCC66");
Če pa uporabljate šesterokotno kodo ARGB, lahko uporabite razred ColorConverter iz imenskega prostora System.Windows.Media:
Color col = ColorConverter.ConvertFromString("#FFDFD991") as Color;
//or = (Color) ColorConverter.ConvertFromString("#FFCC66") ;
Uporabite
System.Drawing.Color.FromArgb(myHashCode);
Če mislite HashCode kot v .GetHashCode()
, se bojim, da se ne morete vrniti nazaj. Funkcije Hash niso dvosmerne, lahko greste samo naprej, ne pa tudi nazaj.
Če želite dobiti barvo na podlagi šestnajstiške vrednosti barve, sledite Odedovemu predlogu.