Tôi nghĩ rằng tiêu đề là rõ ràng!Cách đơn giản nhất để chuyển đổi Màu thành chuỗi như #XXXXXX thành System.Windows.Media.Brush
Những gì tôi có bây giờ là:
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 là như #FFFFFF như tôi đã nói trong tiêu đề
2- này không thành công trên dòng BitConverter.GetBytes mà tôi ngạc nhiên vì tôi đã các đại diện int trên màu của tôi!
3- Dù sao, tôi biết rằng chuyển đổi COL không trực quan nhưng tôi cảm thấy như tôi không làm đúng ... Đó có phải là cách tốt?
có thể trùng lặp của [Làm thế nào để có được màu từ mã màu Hex sử dụng .NET?] (http://stackoverflow.com/questions/2109756/how-to-get-color-from-hex-color-code-using-net) – Ray
Tôi luôn luôn giả định rằng 0xFFFFFF có thể dễ dàng được dịch sang RGB bằng cách lấy 16 byte cho mỗi. Nói cách khác là 0XFF, 0XFF và 0XFF. –
câu trả lời cho câu hỏi đó là cụ thể cho WPF Media Color, tôi muốn nói rằng nó không thực sự là một bản sao –