الاتصال عبر MCP →

أدخل الحساب

صيغة رياضية

Show calculation steps (1)
  1. Hue

    Hue: محوّل ألوان RGB إلى HSL

    Hue in degrees, selected by which channel is the maximum; result is wrapped into 0-360. If delta = 0 the color is gray and H = 0.

اعلان

نتائج

لون HSL
hsl(٩, ١٠٠%, ٦٤%)
درجة اللون / التشبّع / الإضاءة
درجة اللون (بالدرجات) ٩٫١٣°
التشبّع (%) ١٠٠%
الإضاءة (%) ٦٣٫٩٢%

ما هو التحويل من RGB إلى HSL؟

يصف نظام RGB اللون عبر مزج ثلاثة أضواء: الأحمر والأخضر والأزرق، وتأخذ كل قناة قيمة من 0 إلى 255. أمّا نظام HSL فيصف اللون نفسه بثلاثة أرقام أقرب إلى الحدس: درجة اللون (Hue) وهي موضع اللون على عجلة الألوان من 0 إلى 360°، والتشبّع (Saturation) أي مدى نقاء اللون من 0 إلى 100%، والإضاءة (Lightness) أي مدى فتوحته أو غمقانه من 0 إلى 100%. وكثيرًا ما يفضّل المصممون نظام HSL لأنّ تعديل الإضاءة أو التشبّع يترجَم مباشرةً إلى "أفتح" أو "أغمق" أو "أكثر حيوية" أو "أقرب إلى الرمادي".

نموذجا ألوان جنبًا إلى جنب: مكعب RGB وأسطوانة HSL
يحدد RGB اللون عبر قنوات الأحمر والأخضر والأزرق، بينما يصفه HSL بدرجة اللون والتشبع والإضاءة.

كيفية استخدام المحوّل

أدخِل قيم الأحمر والأخضر والأزرق للون الذي تريده، على أن تكون كل قيمة بين 0 و255. سيعرض لك الحاسبة فورًا قيمة HSL المكافئة، جاهزة للصق مباشرةً في CSS بصيغة hsl(H, S%, L%).

شرح المعادلة

في البداية تُطبَّع كل قناة بقسمتها على 255 لنحصل على قيم بين 0 و1. لنفترض أنّ max هي أكبر هذه القيم وmin أصغرها. تُحسب الإضاءة بالعلاقة:

$$L = \frac{C_{max} + C_{min}}{2}$$

فإذا تساوت max مع min كان اللون درجة من الرمادي، ومن ثمّ يكون كل من التشبّع ودرجة اللون مساويًا للصفر. وإلا فإنّ التشبّع:

$$S = \begin{cases} \dfrac{\Delta}{2 - C_{max} - C_{min}} & L > 0.5 \\[0.6em] \dfrac{\Delta}{C_{max} + C_{min}} & L \le 0.5 \end{cases}$$

أمّا درجة اللون فتُشتق من القناة صاحبة القيمة العظمى وتُحوَّل إلى درجات (من 0 إلى 360):

$$H = 60^{\circ} \times \begin{cases} \left(\dfrac{G - B}{\Delta}\right) \bmod 6 & C_{max} = R \\[0.7em] \dfrac{B - R}{\Delta} + 2 & C_{max} = G \\[0.7em] \dfrac{R - G}{\Delta} + 4 & C_{max} = B \end{cases}$$
أسطوانة HSL تُظهر زاوية درجة اللون ونصف قطر التشبع وارتفاع الإضاءة
درجة اللون زاوية (0-360°)، والتشبع هو البُعد عن المركز، والإضاءة هي الموضع الرأسي.

مثال محلول

لِلون أحمر الطماطم RGB(255, 99, 71): القيم المطبَّعة = (1.0, 0.388, 0.278). إذن max = 1.0 وmin = 0.278، وبالتالي \(L = 0.639\) ← 63.9%. وبما أنّ \(L > 0.5\)، فإنّ \(S = (1.0 - 0.278) / (2 - 1.0 - 0.278) = 0.722 / 0.722 = 1.0\) ← 100%. والقيمة العظمى هي الأحمر، فتكون \(H = 60 \times ((0.388 - 0.278) / 0.722) = 60 \times 0.1525 = 9.1^{\circ}\). النتيجة: hsl(9, 100%, 64%).

الأسئلة الشائعة

لماذا تكون درجة اللون 0 في درجات الرمادي؟ عندما تتساوى قيم الأحمر والأخضر والأزرق لا يوجد لون مهيمن، فتصبح درجة اللون غير معرَّفة ويُتَّفق عرفًا على اعتبارها 0.

هل HSL هو نفسه HSV/HSB؟ لا. يتشارك النظامان HSL وHSV في درجة اللون، لكنّهما يحسبان التشبّع والقيمة الثالثة بطريقة مختلفة؛ وهذه الأداة تُخرج قيمة HSL.

هل يمكنني لصق النتيجة في CSS؟ نعم — تقبل المتصفحات الحديثة الصيغة hsl(9, 100%, 64%) مباشرةً كقيمة لون.

آخر تحديث: