अपने हेक्साडेसिमल आरजीबी स्ट्रिंग से System.Drawing.Color कैसे बनाएं?


84

मैं उसके लिए कोड लिखने की आवश्यकता के बिना या System.Drawing.Colorसे एक मूल्य से बनाना चाहता हूं । उसके लिए कोई .NET बिल्ट-इन पार्सर है?#FF00FFFF00FF

जवाबों:



62

आप System.Drawing.ColorTranslator स्थिर विधि FromHtml का उपयोग कर सकते हैं।

उपयोग:

System.Drawing.ColorTranslator.FromHtml("#FFFFFF");

18

जब आप Convert-Class का उपयोग करते हैं तो यह आसान होता है । ToInt32समारोह एक दूसरा पैरामीटर जो आधार स्ट्रिंग में है का प्रतिनिधित्व करता है के साथ एक अधिभार नहीं है।

using System.Drawing

Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));

9

ColorConverter वर्ग का उपयोग करें :

var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );

यह मानक नाम रंगों जैसे ConvertFromString ("ब्लू") से भी परिवर्तित हो सकता है

मानक .NET प्रकार के रूपांतरण तंत्र की चर्चा के लिए यहां देखें ।


1

यदि आप जिस रंग का उपयोग करना चाहते हैं, वह C # उपयोग में एक स्थिर है System.Drawing.Color.FromArgb (0xFF00FF)। यह थोड़ा System.Drawing.Color.FromNameया उससे भी तेज है System.Drawing.Color.FromHtml, क्योंकि एक स्ट्रिंग से पूर्णांक तक पार्सिंग रनटाइम के बजाय संकलन समय पर किया जाता है।


0

FromName विधि ने मेरे लिए काम किया

System.Drawing.Color.FromName("#FF00FF");
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.