Penso che il titolo sia chiaro!Il modo più semplice per convertire un colore come una stringa come #XXXXXX a System.Windows.Media.Brush
Quello che ho ora è:
System.Drawing.Color uiui = System.Drawing.ColorTranslator.FromHtml(myString);
var intColor = (uint)((uiui.A << 24) | (uiui.R << 16) | (uiui.G << 8) | (uiui.B << 0));
var bytes = BitConverter.GetBytes(uint.Parse(value));
var brush = new SolidColorBrush();
brush.Color = Color.FromArgb(bytes[3], bytes[2], bytes[1], bytes[0]);
1- myString è come #FFFFFF come ho detto nel titolo
2- Questo non sulla linea BitConverter.GetBytes che mi sorprende perche 'ho la rappresentazione int sul mio colore!
3- In ogni caso, so che la conversione di COlor non è così intuitiva, ma sento che non sto facendo bene ... E 'questo il modo giusto?
possibile duplicato di [Come ottenere colore da codice colore Hex utilizzando .NET?] (http://stackoverflow.com/questions/2109756/how-to-get-color-from-hex-color-code-using-net) – Ray
Ho sempre pensato che 0xFFFFFF potesse essere facilmente tradotto in RGB prendendo 16 byte per ciascuno. In altre parole 0XFF, 0XFF e 0XFF. –
la risposta per quella domanda era specifica per WPF Media Color, direi che non è proprio un duplicato –