Hex से HSL कलर कन्वर्टर क्या है?
यह टूल किसी हेक्साडेसिमल कलर कोड (CSS और डिज़ाइन सॉफ़्टवेयर में इस्तेमाल होने वाला जाना-पहचाना #RRGGBB फ़ॉर्मेट) को HSL कलर मॉडल — यानी Hue (रंग), Saturation (गहराई) और Lightness (उजलापन) — में बदल देता है। HSL अक्सर hex या RGB की तुलना में ज़्यादा सहज लगता है, क्योंकि यह रंग को उसी तरह बयान करता है जैसे इंसान सोचते हैं: कौन-सा रंग है (hue), कितना चटख है (saturation), और कितना हल्का या गहरा है (lightness)। यह किसी भी RGB-आधारित रंग के लिए सार्वभौमिक रूप से काम करता है और स्टैंडर्ड sRGB hex नोटेशन से आगे किसी देश या मानक से बंधा नहीं है।
इसे कैसे इस्तेमाल करें
कोई hex कलर वैल्यू डालें, जैसे #3498DB। आप शुरू में # लगा सकते हैं या छोड़ भी सकते हैं, और #0AF जैसे तीन अंकों वाले शॉर्टहैंड को टूल खुद-ब-खुद #00AAFF में बढ़ा देता है। कन्वर्टर आपको बराबर की HSL वैल्यू के साथ-साथ डिकोड किए गए रेड, ग्रीन और ब्लू चैनल की वैल्यू (0–255) भी देता है।
फ़ॉर्मूला समझें
सबसे पहले hex को रेड, ग्रीन और ब्लू बाइट्स में बाँटा जाता है और हर एक को 255 से भाग देकर 0–1 की रेंज में नॉर्मलाइज़ किया जाता है। मान लें कि इन तीनों में से सबसे बड़ी वैल्यू max और सबसे छोटी min है। Lightness इन दोनों का औसत होता है: \(L = \frac{\max + \min}{2}\)। जब max और min बराबर हों (यानी ग्रे रंग) तो Saturation 0 होता है। वरना, अगर L > 0.5 हो तो \(S = \frac{\max - \min}{2 - \max - \min}\), नहीं तो \(S = \frac{\max - \min}{\max + \min}\)। Hue इस बात पर निर्भर करता है कि कौन-सा चैनल सबसे बड़ा है, और इसे 60 से गुणा करके डिग्री में बदला जाता है।
$$L = \frac{\max + \min}{2}, \quad S = \begin{cases} \dfrac{\max - \min}{2 - \max - \min}, & L > 0.5 \\[0.6em] \dfrac{\max - \min}{\max + \min}, & L \le 0.5 \end{cases}$$$$H = 60^{\circ} \times \begin{cases} \dfrac{G - B}{d} \bmod 6, & \max = R \\[0.6em] \dfrac{B - R}{d} + 2, & \max = G \\[0.6em] \dfrac{R - G}{d} + 4, & \max = B \end{cases} \qquad d = \max - \min$$
उदाहरण के साथ हल
#3498DB को लें: R = 52, G = 152, B = 219। नॉर्मलाइज़ करने पर: \(r \approx 0.2039\), \(g \approx 0.5961\), \(b \approx 0.8588\)। \(\max = b = 0.8588\), \(\min = r = 0.2039\), इसलिए \(L = 0.5314\) (53.14%)। चूँकि L > 0.5, इसलिए \(S = \frac{0.6549}{2 - 1.0627} = 0.6987\) (69.87%)। ब्लू सबसे बड़ा है, इसलिए \(H = 60 \times \left(4 + \frac{0.2039 - 0.5961}{0.6549}\right) = 60 \times 3.4011 \approx 204.07^{\circ}\)। नतीजा: hsl(204, 70%, 53%)।
अक्सर पूछे जाने वाले सवाल
क्या यह शॉर्टहैंड hex स्वीकार करता है? हाँ — #F0C जैसे तीन अंकों वाले कोड खुद-ब-खुद बढ़ा दिए जाते हैं।
क्या HSL वैल्यू सटीक होती हैं? Hue, saturation और lightness को पूरी प्रिसिज़न पर गिना जाता है और सिर्फ़ दिखाने के लिए राउंड किया जाता है; कच्ची (raw) वैल्यू भी उपलब्ध रहती हैं।
क्या हैश (#) ज़रूरी है? नहीं, कन्वर्टर शुरू में # के साथ या बिना — दोनों तरह की वैल्यू संभाल लेता है।