मैं उसके लिए कोड लिखने की आवश्यकता के बिना या System.Drawing.Color
से एक मूल्य से बनाना चाहता हूं । उसके लिए कोई .NET बिल्ट-इन पार्सर है?#FF00FF
FF00FF
जवाबों:
ColorTranslator.FromHtml("#FF00FF");
जब आप Convert-Class का उपयोग करते हैं तो यह आसान होता है । ToInt32
समारोह एक दूसरा पैरामीटर जो आधार स्ट्रिंग में है का प्रतिनिधित्व करता है के साथ एक अधिभार नहीं है।
using System.Drawing
Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));
ColorConverter वर्ग का उपयोग करें :
var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );
यह मानक नाम रंगों जैसे ConvertFromString ("ब्लू") से भी परिवर्तित हो सकता है
मानक .NET प्रकार के रूपांतरण तंत्र की चर्चा के लिए यहां देखें ।
यदि आप जिस रंग का उपयोग करना चाहते हैं, वह C # उपयोग में एक स्थिर है System.Drawing.Color.FromArgb (0xFF00FF)
। यह थोड़ा System.Drawing.Color.FromName
या उससे भी तेज है System.Drawing.Color.FromHtml
, क्योंकि एक स्ट्रिंग से पूर्णांक तक पार्सिंग रनटाइम के बजाय संकलन समय पर किया जाता है।