मुझे पता है कि हेक्स वैल्यू का उपयोग करके पूर्वनिर्धारित रंगों का नाम कैसे प्राप्त करें, लेकिन अपने हेक्स वैल्यूएटो को निकटतम ज्ञात रंग का अनुमान लगाते समय रंग का नाम कैसे प्राप्त करें।हेक्स वैल्यू के माध्यम से रंग का नाम प्राप्त करना?
7
A
उत्तर
2
https://stackoverflow.com/a/7792104/224370 बताता है कि नामित रंग को सटीक आरजीबी मूल्य से कैसे मिलान किया जाए। इसे अनुमानित करने के लिए आपको किसी प्रकार की दूरी की फ़ंक्शन की आवश्यकता होती है जहां आप गणना करते हैं कि रंग कितने दूर हैं। आरजीबी स्पेस में ऐसा करना (आर, जी और बी मानों में मतभेदों के वर्गों का योग) आपको एक सही उत्तर देने वाला नहीं है (लेकिन यह काफी अच्छा हो सकता है)। उदाहरण के लिए https://stackoverflow.com/a/7792111/224370 देखें जो इस तरह से करता है। अधिक सटीक उत्तर प्राप्त करने के लिए आपको एचएसएल में परिवर्तित करने की आवश्यकता हो सकती है और फिर तुलना करें।
5
इयान के सुझाव पर आधारित कुछ कोड यहां दिया गया है। मैंने इसे कई रंग मूल्यों पर परीक्षण किया, ऐसा लगता है कि यह अच्छी तरह से काम करता है।
GetApproximateColorName(ColorTranslator.FromHtml(source))
private static readonly IEnumerable<PropertyInfo> _colorProperties =
typeof(Color)
.GetProperties(BindingFlags.Public | BindingFlags.Static)
.Where(p => p.PropertyType == typeof (Color));
static string GetApproximateColorName(Color color)
{
int minDistance = int.MaxValue;
string minColor = Color.Black.Name;
foreach (var colorProperty in _colorProperties)
{
var colorPropertyValue = (Color)colorProperty.GetValue(null, null);
if (colorPropertyValue.R == color.R
&& colorPropertyValue.G == color.G
&& colorPropertyValue.B == color.B)
{
return colorPropertyValue.Name;
}
int distance = Math.Abs(colorPropertyValue.R - color.R) +
Math.Abs(colorPropertyValue.G - color.G) +
Math.Abs(colorPropertyValue.B - color.B);
if (distance < minDistance)
{
minDistance = distance;
minColor = colorPropertyValue.Name;
}
}
return minColor;
}
संबंधित मुद्दे
- 1. हेक्स रंग मान से सॉलिडकॉलर ब्रश बनाना
- 2. डब्ल्यूपीएफ/सिल्वरलाइट: हेक्स वैल्यू को रंग में कैसे परिवर्तित करें?
- 3. सीएसएस में हेक्स वैल्यू के बजाय रंग का नाम टाइप करने की सिफारिश की जा रही है?
- 4. जेसन ऑब्जेक्ट से स्ट्रिंग वैल्यू प्राप्त करना
- 5. कनवर्टिंग system.windows.media.brush हेक्स रंग कोड
- 6. विजुअल बेसिक में हेक्स-वैल्यू
- 7. ruby-ncurses से 256 रंग प्राप्त करना
- 8. हेक्स रंग स्ट्रिंग को आरजीबी रंग
- 9. कौन सा तेज़ है: हेक्स रंग कोड या रंग के नाम?
- 10. सीएसएस - आरजीबी या रंग के लिए हेक्स
- 11. एपीआई के माध्यम से जीमेल लेबल रंग?
- 12. लाइब्रेरी नाम के माध्यम से मुझे लाइब्रेरी का फ़ाइल नाम कैसे प्राप्त करें?
- 13. जावास्क्रिप्ट के माध्यम से डोमेन नाम कैसे प्राप्त करें?
- 14. हेक्स वैल्यू को बिटवाईड का उपयोग कैसे किया जाता है?
- 15. फ़्लोट चार्ट से डेटा श्रृंखला का रंग प्राप्त करना
- 16. हेक्स रंग कैलकुलेटर: ट्विटर बूटस्ट्रैप बटन के लिए रंग बदलें
- 17. नाम से चल रहे प्रक्रिया का मार्ग प्राप्त करना
- 18. लैम्ब्डा अभिव्यक्तियों के माध्यम से रन-टाइम पर स्थानीय चर (और पैरामीटर) के नाम प्राप्त करना
- 19. हेक्स रंग - इसे बनाने के लिए फॉर्मूला
- 20. अल्फा चैनल के साथ रंग का हेक्स प्रतिनिधित्व?
- 21. उपयोगकर्ता नाम से PowerShell और WMI के माध्यम से उपयोगकर्ता का ईमेल पता प्राप्त करें?
- 22. बदलें सीएसएस में हड़ताल के माध्यम से पाठ का रंग
- 23. थ्रेड जानकारी से मॉड्यूल नाम प्राप्त करना
- 24. 3 अंकों के एचटीएमएल हेक्स रंग को 6 अंकों के फ्लेक्स हेक्स रंग में परिवर्तित करने के लिए कैसे करें
- 25. NSMangedObject subclass क्लास ऑब्जेक्ट से इकाई का नाम प्राप्त करना
- 26. एंड्रॉइड: कैमरा से फ़ाइल का नाम प्राप्त करना?
- 27. सक्रिय विंडो का नाम प्राप्त करना
- 28. एक कॉफ़ीस्क्रिप्ट क्लास का नाम प्राप्त करना?
- 29. एडिटटेक्स्ट वैल्यू कैसे प्राप्त करें और इसे टेक्स्ट व्यू के माध्यम से स्क्रीन पर प्रदर्शित करें?
- 30. सीएसएस के माध्यम से यूनिकोड:
धन्यवाद आप मुह कर्तन ... :) – fresky