दिलचस्प पोस्ट
जावा त्रुटि: केवल एक प्रकार का आयात किया जा सकता है XYZ एक पैकेज को हल करता है मैं एक सप्ताह से अधिक पुराने ट्वीट्स कैसे प्राप्त कर सकता हूं (ट्वीपी या अन्य अजगर लाइब्रेरी का उपयोग करके) मैं UIPageControl के पृष्ठांकन अंक के रंग कैसे बदल सकता हूँ? क्यों हमेशा इंतजार करना चाहिए () हमेशा सिंक्रनाइज़ ब्लॉक में SQL सर्वर सर्वर प्रबंधन स्टूडियो के साथ आयात / निर्यात डेटाबेस आईओएस 5 में यूआईज़िगेंटेड कंट्रोल के साथ दृश्य नियंत्रक स्विच करना एंड्रॉइड पर कस्टम संवाद: मैं अपना शीर्षक कैसे केन्द्रित कर सकता हूं? सिंटेक्स सहायता – ऑब्जेक्ट नाम के रूप में वैरिएबल अलग थ्रेड के बीच सी # में एओपी का उपयोग कैसे करें? कैसे एक चर अनजाने बल से बचने के लिए? 1 वर्ष की अवधि शून्य? मैं कैसे पता लगा सकता है कि एक आईओएस ऐप जेलब्रेक फोन पर चल रहा है? IE में SELECT की ऊंचाई निर्धारित करना आप jQuery के डिफरेड्स की एक सरणी के साथ कैसे काम करते हैं? टीइनएमसीई में चरित्र की संख्या को सीमित करें

आप एक #xxxxxx रंग के रंग कैसे प्राप्त करते हैं?

आप '#rrggbb' के रूप में दिए गए रंग के रंग घटक कैसे निकाल सकते हैं?

Solutions Collecting From Web of "आप एक #xxxxxx रंग के रंग कैसे प्राप्त करते हैं?"

यदि आप आरजीबी से एचएसएल को कन्वर्ट करने के लिए खोजते हैं , तो आपको कई एल्गोरिदम मिलेंगे, जिनमें सर्जी से जुड़े विकिपीडिया लेख शामिल हैं

सबसे पहले, हेक्स रंग संकेतन के आरजीबी घटकों को निकालें।

var color='#c7d92c'; // A nice shade of green. var r = parseInt(color.substr(1,2), 16); // Grab the hex representation of red (chars 1-2) and convert to decimal (base 10). var g = parseInt(color.substr(3,2), 16); var b = parseInt(color.substr(5,2), 16); 

वह आपको बाइट (0-255) अपने रंग का प्रतिनिधित्व करेगा। इस मामले में, 199, 217, 44

फिर आप रंगों की गणना करने के लिए विकिपीडिया लेख से फ़ार्मुलों का उपयोग कर सकते हैं, या बेशर्मी किसी और के कोड को चोरी कर सकते हैं :

 function rgbToHsl(r, g, b){ r /= 255, g /= 255, b /= 255; var max = Math.max(r, g, b), min = Math.min(r, g, b); var h, s, l = (max + min) / 2; if(max == min){ h = s = 0; // achromatic }else{ var d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch(max){ case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b - r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } return [h, s, l]; } 

(दस्तावेज़ और एक hslToRgb() फ़ंक्शन के लिए स्रोत पृष्ठ देखें।)

अब हम उन दो स्निपेट को एक साथ रख सकते हैं और रंग प्राप्त कर सकते हैं:

 var hue = rgbToHsl(r, g, b)[0] * 360; 

[0] रंग को पकड़ना है – फ़ंक्शन एक सरणी देता है ( [h,s,l] )। हम 360 से गुणा करते हैं क्योंकि 0 और 1 के बीच के मूल्य के रूप में वापस आ गया है; हम इसे डिग्री में परिवर्तित करना चाहते हैं।

#c7d92c का उदाहरण रंग के साथ, hue #c7d92c होगा फ़ोटोशॉप का रंग पिकर कहता है कि उस रंग का रंग 66 डिग्री है इसलिए ऐसा लगता है कि हम अच्छे हैं!

विकिपीडिया लेख का एक सूत्र है जो कुछ ऐसा दिखता है जिसे आसानी से लागू किया जा सकता है:

http://en.wikipedia.org/wiki/Hue#Computing_hue_from_RGB

संपादित करें: यहां एक फ़ंक्शन है जो उन फ़ार्मुलों का उपयोग करता है:

 function getHue(color) { var r = parseInt(color.substring(0,2),16)/255; var g = parseInt(color.substring(2,4),16)/255; var b = parseInt(color.substring(4,6),16)/255; var hue; if ((r >= g) && (g >= b)) { hue = 60*(gb)/(rb); } else if ((g > r) && (r >= b)) { hue = 60*(2 - (rb)/(gb)); } //... continue here return hue; } alert(getHue('FF0000')); // correctly returns 0 alert(getHue('408000')); // correctly returns 90 alert(getHue('0000FF')); // not implemented yet 

अन्य कोणों के लिए उस विकिपीडिया लेख में तालिका से सूत्रों का उपयोग करना जारी रखें।

 hue = Atan2(1.732050808 * (G - B), (2 * R - G - B)) * 57.295779513; 

http://en.wikipedia.org/wiki/Hue

ह्यू = एतन 2 (चौकोर (3) * (जी – बी), 2 * आर – जी – बी)

परिणाम ध्रुवीय निर्देशांक में होगा। 180 से गुणा करें और पीई के बराबर कोण में कनवर्ट करें

मैंने इस मुद्दे पर भी कई वर्षों के बाद ठोकर खाई है, इसी तरह मैंने इसके आसपास काम किया है।

क्रेडिट: एचएसएलपीकर। के ब्रैंडन मैथिस , कोड यहां से लिया गया था

 function hexToRgb (color) { let hex = color[0] === '#' ? color.slice(1) : color; let c; // expand the short hex by doubling each character, fc0 -> ffcc00 if (hex.length !== 6) { hex = ((() => { const result = []; for (c of Array.from(hex)) { result.push(`${c}${c}`); } return result; })()).join(''); } const colorStr = hex.match(/#?(.{2})(.{2})(.{2})/).slice(1); const rgb = colorStr.map(col => parseInt(col, 16)); rgb.push(1); return rgb; } function rgbToHsl (rgb) { const r = rgb[0] / 255; const g = rgb[1] / 255; const b = rgb[2] / 255; const max = Math.max(r, g, b); const min = Math.min(r, g, b); const diff = max - min; const add = max + min; const hue = min === max ? 0 : r === max ? (((60 * (g - b)) / diff) + 360) % 360 : g === max ? ((60 * (b - r)) / diff) + 120 : ((60 * (r - g)) / diff) + 240; const lum = 0.5 * add; const sat = lum === 0 ? 0 : lum === 1 ? 1 : lum <= 0.5 ? diff / add : diff / (2 - add); const h = Math.round(hue); const s = Math.round(sat * 100); const l = Math.round(lum * 100); const a = rgb[3] || 1; return [h, s, l, a]; } 

मैंने हेक्स रंग की सरणी को एच / एस / एल घटकों का वर्णन करने वाली तारों की सरणियों में कनवर्ट करने के लिए उन 2 फ़ंक्शन के आसपास एक छोटा आवरण लिखा है

 function hexToHsl (color) { const rgb = hexToRgb(color); const hsl = rgbToHsl(rgb); return `original: ${ color } - H: ${ hsl[0] } S: ${ hsl[1] } L: ${ hsl[2] }`; } 

उपयोग:

 var colors = ['#51bce6','#6dcff6','#829CBD','#565a5c'] colors.map(color => hexToHsl(color)) => ["original: #51bce6 - H: 197 S: 75 L: 61", "original: #6dcff6 - H: 197 S: 88 L: 70", "original: #829CBD - H: 214 S: 31 L: 63", "original: #565a5c - H: 200 S: 3 L: 35"]