2012-04-08 19 views
90

मैं हेक्स वैल्यू जैसे सॉलिडकोलर ब्रश बनाना चाहता हूं जैसे #ffaacc। मैं यह कैसे कर सकता हूँ?हेक्स रंग मान से सॉलिडकॉलर ब्रश बनाना

MSDN पर, मुझे मिल गया:

SolidColorBrush mySolidColorBrush = new SolidColorBrush(); 
mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255); 

तो मैंने लिखा (पर विचार मेरी विधि #ffaacc के रूप में रंग प्राप्त करता है):

Color.FromRgb(
    Convert.ToInt32(color.Substring(1, 2), 16), 
    Convert.ToInt32(color.Substring(3, 2), 16), 
    Convert.ToInt32(color.Substring(5, 2), 16)); 

लेकिन इस

The best overloaded method match for 'System.Windows.Media.Color.FromRgb(byte, byte, byte)' has some invalid arguments

के रूप में त्रुटि दे दी है

इसके अलावा 3 त्रुटियां: Cannot convert int to byte.

लेकिन फिर एमएसडीएन उदाहरण कैसे काम करता है?

+1

संभावित डुप्लिकेट [.NET का उपयोग कर हेक्स रंग कोड से रंग कैसे प्राप्त करें?] (http://stackoverflow.com/questions/2109756/how-to-get-color-from-hex-color-code-using-net) – Sascha

+5

इतना बेवकूफ है कि वे डिफ़ॉल्ट #FFFFFF प्रारूप की अनुमति नहीं देते हैं। – MrFox

उत्तर

236

ऐसा करें:

(SolidColorBrush)(new BrushConverter().ConvertFrom("#ffaacc")); 
+48

यह इस तरह की सादगी है जो मुझे डब्ल्यूपीएफ के साथ काम करना पसंद करती है। –

+52

यह इस तरह की जटिलता है जो मुझे डब्ल्यूपीएफ के साथ काम करने से नापसंद करती है। – lfalin

+39

SO को कटाक्ष टैग की आवश्यकता है। –

15

How to get Color from Hexadecimal color code using .NET?

यह मुझे लगता है कि क्या आप के बाद कर रहे हैं, यह आपके सवाल का जवाब की उम्मीद है।

Convert.ToInt के बजाय उपयोग Convert.ToByte काम करने के लिए अपना कोड प्राप्त करने के लिए ...

string colour = "#ffaacc"; 

Color.FromRgb(
Convert.ToByte(colour.Substring(1,2),16), 
Convert.ToByte(colour.Substring(3,2),16), 
Convert.ToByte(colour.Substring(5,2),16)); 
9
using System.Windows.Media; 

byte R = Convert.ToByte(color.Substring(1, 2), 16); 
byte G = Convert.ToByte(color.Substring(3, 2), 16); 
byte B = Convert.ToByte(color.Substring(5, 2), 16); 
SolidColorBrush scb = new SolidColorBrush(Color.FromRgb(R, G, B)); 
//applying the brush to the background of the existing Button btn: 
btn.Background = scb; 
9

मैं उपयोग कर रहे हैं:

new SolidColorBrush((Color)ColorConverter.ConvertFromString("#ffaacc")); 
संबंधित मुद्दे