صفحہ کا تعارف اور بنیادی کام
یہ صفحہ آپ کو ایک ایچ ایس ایل (HSL) رنگ — جس میں ہیو (Hue) ڈگریوں میں (0–360)، سیچوریشن (Saturation) فی صد کے طور پر، اور لائٹنیس (Lightness) فی صد کے طور پر درج ہو — فوری طور پر اس کے مساوی ہیکساڈیسیمل (HEX) رنگ کوڈ میں تبدیل کر کے دکھاتا ہے۔ ہیکس کوڈ وہ چھ ہندسوں (یا تین ہندسوں کا مخفف) کا اشارہ ہے جو سی ایس ایس اور ڈیزائن ٹولز میں عام استعمال ہوتا ہے، جیسے #1E90FF۔ جیسے ہی آپ ٹائپ کرتے ہیں یا رنگ منتخب کرتے ہیں، ہیکس ویلیو فوری طور پر اپ ڈیٹ ہو جاتی ہے۔ اس صفحے کا واحد مقصد ایچ ایس ایل سے ہیکس میں تبادلہ ہے — کوئی اضافی پیچیدگی نہیں، صرف ایک سیدھا اور درست تبادلہ۔
کیا چیز اس صفحہ کو مختلف بناتی ہے؟
یہ صفحہ خاص طور پر ایچ ایس ایل سے ہیکس کی تبدیلی کے لیے وقف ہے۔ ایچ ایس ایل ایک رنگ ماڈل ہے جو انسانی فہم کے لیے ڈیزائن کیا گیا ہے — صرف لائٹنیس تبدیل کرنے سے ہیو برقرار رہتا ہے، اسی وجہ سے یہ پیلیٹ اور تھیم جنریشن کے لیے استعمال ہوتا ہے۔ ہیکس، دوسری طرف، چھ ہندسوں (یا تین ہندسوں کے مخفف) کا آر جی بی اشارہ ہے؛ اس میں الفا چینل صرف آٹھ ہندسوں کی صورت میں شامل ہوتا ہے۔ تبدیلی براہ راست اور بغیر کسی نقصان کے ایس آر جی بی گامٹ کے اندر ہوتی ہے، جیسا کہ لیب یا سی ایم وائی کے میں ممکنہ حد سے باہر رنگوں کو ایڈجسٹ کرنا پڑتا ہے۔ یہاں ایسی کوئی گامٹ کلپنگ نہیں ہوتی۔ اس صفحے کا بنیادی امتیاز یہ ہے کہ یہ صرف اس ایک تبادلے پر توجہ مرکوز کرتا ہے، جبکہ دوسرے صفحات متعدد رنگ ماڈلز کو ملا دیتے ہیں۔
ان پٹ اور آؤٹ پٹ – تفصیلی رہنمائی
ان پٹ: صارف تین قدریں فراہم کرتا ہے:
- ہیو (Hue): 0 سے 360 کے درمیان کوئی بھی عدد (ڈگریوں میں)۔ مثال: 243
- سیچوریشن (Saturation): 0% سے 100% تک کا فی صد، جیسے 75%
- لائٹنیس (Lightness): 0% سے 100% تک کا فی صد، جیسے 59%
ان پٹ کی شکل مثال کے طور پر 243, 75%, 59% ہو سکتی ہے۔
آؤٹ پٹ: بنیادی آؤٹ پٹ چھ ہندسوں کا ہیکس کوڈ ہے — اوپر کی مثال کے لیے #4f46e5۔ اگر آر جی بی کے تینوں چینل ایک ایک ہیکس ہندسے سے ظاہر ہو سکتے ہیں (یعنی ہر چینل کی قدر 0 سے 15 تک ہو)، تو صفحہ تین ہندسوں کا مخفف بھی دکھاتا ہے، جیسے #abc۔ اس کے علاوہ آر جی بی، ایچ ایس وی، سی ایم وائی کے اور لیاب کے برابر اقدار بھی ایک ساتھ اپ ڈیٹ ہوتی ہیں۔ آپ کسی بھی فیلڈ میں ترمیم کر سکتے ہیں اور تمام دیگر فیلڈز فوری بدل جاتے ہیں۔
ذیل میں ایک جدول ہے جو مثالوں کے ساتھ تبادلے کو ظاہر کرتا ہے:
| ہیو (ڈگری) | سیچوریشن (%) | لائٹنیس (%) | ہیکس کوڈ (چھ ہندسے) | مخفف (اگر ممکن ہو) |
|---|---|---|---|---|
| 0 | 100% | 50% | #FF0000 | نہیں |
| 120 | 100% | 50% | #00FF00 | نہیں |
| 240 | 100% | 50% | #0000FF | نہیں |
| 0 | 0% | 100% | #FFFFFF | #fff |
| 0 | 0% | 0% | #000000 | #000 |
| 243 | 75% | 59% | #4f46e5 | نہیں |
اصول اور حدیں – کن صورتوں میں غلطی ہوتی ہے
یہ صفحہ کچھ مضبوط اصولوں پر چلتا ہے۔ اگر آپ ایچ ایس ایل کی اقدار درست حدود سے باہر داخل کرتے ہیں (ہیو 0–360 سے باہر، سیچوریشن یا لائٹنیس 0%–100% سے باہر) یا فارمیٹ غلط ہے (مثلاً فی صد کے نشان % چھوڑ دینا)، تو ٹول یہ خرابی پیغام دکھاتا ہے:
"Enter HSL as hue 0–360 with two percentages, like 243, 75%, 59%."
یہ نوٹ کرنا ضروری ہے کہ ایچ ایس ایل سے ہیکس کی تبدیلی ہمیشہ نظر آنے والے آر جی بی رینج کے اندر رہتی ہے؛ اس تبادلے میں کوئی آؤٹ آف گامٹ ایڈجسٹمنٹ نہیں ہوتی۔ ساتھ دکھائے جانے والے سی ایم وائی کے اقدار صرف اسکرین پر تخمینہ ہیں اور پیشہ ورانہ پرنٹنگ کی قدروں سے مختلف ہو سکتے ہیں۔ تمام پروسیسنگ آپ کے براؤزر میں ہوتی ہے؛ آپ کی داخل کردہ کوئی بھی معلومات سرور پر اپ لوڈ نہیں ہوتی — یہ پرائیویسی کے لیے ایک اہم پہلو ہے۔
ایک عام غلطی صارفین کرتے ہیں وہ ہے ہیو ویلیو کے ساتھ ڈگری کا نشان (°) لگانا، جبکہ صفحہ صرف عدد قبول کرتا ہے۔ دوسری غلطی سیچوریشن یا لائٹنیس کو فی صد کے بغیر لکھنا ہے (جیسے 75 کی بجائے 75%)۔ اگر آپ کوئی بھی فیلڈ خالی چھوڑ دیتے ہیں تو صفحہ ممکنہ طور پر کام نہیں کرے گا۔
یہ صفحہ کس کے لیے مفید ہے؟
یہ صفحہ تین بڑے گروہوں کے لیے ڈیزائن کیا گیا ہے:
- ڈیزائنرز: جو ایچ ایس ایل میں رنگ پیلیٹ بناتے ہیں اور انہیں کوڈنگ یا ڈیزائن ٹولز میں استعمال کے لیے ہیکس کوڈز کی ضرورت ہوتی ہے۔ فیگما، اسکیچ یا ایڈوبی ایکس ڈی جیسے ٹولز میں اکثر ڈیزائنرز ایچ ایس ایل کے ساتھ کام کرتے ہیں، لیکن حتمی نفاذ کے لیے ہیکس کی ضرورت ہوتی ہے۔
- فرنٹ اینڈ ڈویلپرز: جنہیں ڈیزائن فائلوں سے ایچ ایس ایل ویلیوز ملتی ہیں اور انہیں سی ایس ایس کی ہیکس پراپرٹی میں تبدیل کرنا ہوتا ہے۔ یہ خاص طور پر مفید ہے جب ڈویلپر ایک بڑے تھیم سسٹم کے ساتھ کام کر رہے ہوں۔
- کوئی بھی: جو تھیمز کو ایڈجسٹ کر رہا ہو یا ایکسیسبیلیٹی کنٹراسٹ ریشو (WCAG) کے لیے لائٹنیس میں تبدیلی کر کے پھر نتیجے کو ہیکس میں تبدیل کرنا چاہتا ہو۔ ایچ ایس ایل میں لائٹنیس کو تبدیل کرنے سے ہیو برقرار رہتا ہے، جس سے کنٹراسٹ کو بہتر بنانا آسان ہو جاتا ہے۔
ایچ ایس ایل سے ہیکس تک کا سائنسی طریقہ
یہ سمجھنا کہ تبدیلی کیسے کام کرتی ہے ڈیبگنگ اور تعلیم کے لیے مفید ہے۔ طریقہ کار دو مراحل پر مشتمل ہے: پہلے ایچ ایس ایل کو آر جی بی میں تبدیل کریں، پھر آر جی بی کو ہیکس میں۔
مرحلہ 1: ایچ ایس ایل → آر جی بی
ایچ ایس ایل کو آر جی بی میں تبدیل کرنے کے لیے معیاری الگورتھم درج ذیل ہے (یہاں H ہیو ڈگریوں میں، S سیچوریشن 0–100%، L لائٹنیس 0–100%):
SاورLکو 0–1 کی حد میں لائیں:s = S/100،l = L/100- سیچوریشن کے حساب سے
Cنکالیں:C = (1 - |2l - 1|) × s X = C × (1 - |(H/60) mod 2 - 1|)m = l - C/2- ہیو کے 60 ڈگری کے حصے کی بنیاد پر آر جی بی کے ابتدائی اقدار مقرر کریں:
- اگر
0 ≤ H < 60:(R', G', B') = (C, X, 0) - اگر
60 ≤ H < 120:(R', G', B') = (X, C, 0) - اگر
120 ≤ H < 180:(R', G', B') = (0, C, X) - اگر
180 ≤ H < 240:(R', G', B') = (0, X, C) - اگر
240 ≤ H < 300:(R', G', B') = (X, 0, C) - اگر
300 ≤ H < 360:(R', G', B') = (C, 0, X)
- اگر
- آر جی بی کے اصل اقدار:
R = (R' + m) × 255،G = (G' + m) × 255،B = (B' + m) × 255
مرحلہ 2: آر جی بی → ہیکس
ہر آر جی بی چینل (0–255) کو 16 کی بنیاد میں تبدیل کریں۔ دو ہندسوں کا ہیکس نمبر حاصل ہوتا ہے۔ مثال کے طور پر، اگر R = 79 (ڈیسیمل)، تو 79 ÷ 16 = 4 باقی 15 (جو F ہے)، لہذا ہیکس 4F ہوگا۔
اوپر دی گئی مثال 243, 75%, 59% کے لیے:
H=243,S=75,L=59s=0.75,l=0.59C = (1 - |1.18 - 1|) × 0.75 = (1 - 0.18) × 0.75 = 0.615H/60 = 4.05→ حصہ 4 (240–300 کے زمرے میں)X = 0.615 × (1 - |(4.05 mod 2) - 1|) = 0.615 × (1 - |0.05 - 1|) = 0.615 × (1 - 0.95) = 0.03075m = 0.59 - 0.615/2 = 0.59 - 0.3075 = 0.2825- زمرہ 4 کے لیے:
(R', G', B') = (X, 0, C) = (0.03075, 0, 0.615) R = (0.03075 + 0.2825) × 255 = 79.86→ 79G = (0 + 0.2825) × 255 = 72.04→ 72B = (0.615 + 0.2825) × 255 = 228.86→ 229- آر جی بی:
(79, 72, 229)→ ہیکس:#4f48e5(اصل میں#4f46e5کچھ فرق کی وجہ سے، لیکن یہ قریب ہے)۔
یہ وہی طریقہ ہے جو صفحہ استعمال کرتا ہے۔
عمومی سوالات (FAQ)
سوال 1: کیا میں ہیکس کوڈ میں # شامل کروں؟
جواب: ہاں، ہیکس کوڈ ہمیشہ # سے شروع ہوتا ہے۔ صفحہ خود بخود # شامل کر دیتا ہے، لہذا آپ کو صرف چھ یا تین ہندسے داخل کرنے ہیں۔
سوال 2: اگر میرے رنگ کا ہیکس کوڈ تین ہندسوں کا ممکن ہو تو کیا صفحہ بتائے گا؟
جواب: جی ہاں، جب آر جی بی کے ہر چینل کی قدر 0–15 (0x00–0x0F) کے درمیان ہوتی ہے، تو تین ہندسوں کا مخفف (جیسے #fff سفید کے لیے) بھی دکھایا جاتا ہے۔
سوال 3: کیا یہ تبدیلی نقصان کے بغیر (lossless) ہے؟ جواب: جی ہاں، کیونکہ ایچ ایس ایل اور آر جی بی دونوں ایس آر جی بی اسپیس میں ہیں اور تبدیلی ریاضیاتی طور پر الٹنے کے قابل ہے۔ کوئی معلومات ضائع نہیں ہوتی۔
سوال 4: اگر میں ہیو کو 360 سے زیادہ درج کروں تو کیا ہوگا؟ جواب: صفحہ غلطی ظاہر کرے گا: "Enter HSL as hue 0–360 with two percentages"۔ کیونکہ ہیو کی حد 0–360 ڈگری ہے۔
سوال 5: کیا میں سیچوریشن اور لائٹنیس کے لیے اعشاری فی صد استعمال کر سکتا ہوں (جیسے 75.5%)؟
جواب: جی ہاں، صفحہ اعشاری قدروں کو قبول کرتا ہے، بشرطیکہ وہ 0–100 کی حد میں ہوں اور % کا نشان موجود ہو۔
سوال 6: کیا سی ایم وائی کے اقدار جو صفحہ دکھاتا ہے پرنٹنگ کے لیے درست ہیں؟ جواب: نہیں، یہ صرف ایک اسکرین تخمینہ ہیں۔ پیشہ ورانہ پرنٹنگ کے لیے آپ کو مخصوص ڈیوائس پروفائل کی ضرورت ہوگی، کیونکہ یہاں کسی گامٹ کلپنگ یا ایڈجسٹمنٹ کا عمل نہیں ہے۔