हल: आरजीबी के लिए जावास्क्रिप्ट हेक्स

हेक्साडेसिमल रंग मूल्यों को आरजीबी में परिवर्तित करने में मुख्य समस्या यह है कि दो प्रारूपों के बीच एक-से-एक पत्राचार नहीं है। उदाहरण के लिए, रंग #FF0000 को RGB में 255, 0, 0 के रूप में दर्शाया गया है, लेकिन हेक्स में यह रंग #F0 के बराबर होगा। इसका मतलब यह है कि दो अलग-अलग रंगों का एक ही आरजीबी मान हो सकता है यदि वे प्रत्येक रंग घटक की अलग-अलग मात्रा से बने हों।

"use strict";

function hexToRgb(hex) {
    var result = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
    return result ? {
        r: parseInt(result[1], 16),
        g: parseInt(result[2], 16),
        b: parseInt(result[3], 16)
    } : null;
}

"सख्त उपयोग करें";

कोड की यह पंक्ति सख्त मोड को सक्षम करती है, जो कि बेहतर जावास्क्रिप्ट लिखने का एक तरीका है। सख्त मोड में, आप अघोषित चर का उपयोग नहीं कर सकते। सख्त मोड के काम करने के लिए कोड की यह पंक्ति आपकी जावास्क्रिप्ट फ़ाइल के शीर्ष पर होनी चाहिए।

फ़ंक्शन हेक्सटूआरजीबी (हेक्स) {
var परिणाम = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
वापसी परिणाम? {
आर: ParseInt (परिणाम [1], 16),
जी: ParseInt (परिणाम [2], 16),
बी: ParseInt (परिणाम [3], 16)
} : शून्य;
}

यह एक ऐसा फ़ंक्शन है जो हेक्स रंग मान को आरजीबी रंग मान में परिवर्तित करता है। फ़ंक्शन एक पैरामीटर लेता है, जो हेक्स रंग मान है जिसे आप कनवर्ट करना चाहते हैं। फ़ंक्शन एक हेक्स रंग मान के पैटर्न से मिलान करने के लिए एक नियमित अभिव्यक्ति का उपयोग करता है, और यदि यह एक मैच पाता है, तो यह एक वस्तु को लाल, हरे और नीले मूल्यों के साथ वापस कर देगा। यदि इसे कोई मिलान नहीं मिलता है, तो यह शून्य हो जाएगा।

रंगों के बीच रूपांतरण

इस प्रश्न का कोई एक आकार-फिट-सभी उत्तर नहीं है, क्योंकि विभिन्न रंग स्थानों के बीच रंगों को परिवर्तित करने का सबसे अच्छा तरीका आपके आवेदन की विशिष्ट आवश्यकताओं के आधार पर भिन्न हो सकता है। हालाँकि, जावास्क्रिप्ट में रंग रिक्त स्थान के बीच रंगों को कैसे परिवर्तित किया जाए, इसके बारे में कुछ सुझाव नीचे पाए जा सकते हैं।

रंग को एक रंग स्थान से दूसरे में बदलने के लिए, आप आरजीबी () और एचएसएल () फ़ंक्शन का उपयोग कर सकते हैं। ये फ़ंक्शन तीन तर्कों में लेते हैं: क्रमशः एक लाल, हरा और नीला मान। पहला तर्क आधार रंग स्थान (जैसे आरजीबी) निर्दिष्ट करता है, जबकि दूसरा और तीसरा तर्क लक्ष्य रंग स्थान (जैसे एचएसएल) निर्दिष्ट करता है।

एक रंग को एक पिक्सेल प्रारूप से दूसरे में बदलने के लिए, आप css() फ़ंक्शन का उपयोग कर सकते हैं। यह फ़ंक्शन दो तर्कों में लेता है: एक स्ट्रिंग जो CSS गुण नाम (उदाहरण के लिए "रंग") का प्रतिनिधित्व करती है और एक संख्या उस गुण के लिए वांछित मान का प्रतिनिधित्व करती है (उदाहरण के लिए "50")।

रंग प्रारूप

कुछ अलग रंग प्रारूप हैं जिनका आप जावास्क्रिप्ट में उपयोग कर सकते हैं।

आरजीबी - लाल, हरा, नीला

हेक्स - #RRGGBB

एचएसएल - रंग, संतृप्ति, लपट

संबंधित पोस्ट:

एक टिप्पणी छोड़ दो