متوفر أيضًا بلغات أخرى: English · Español · Português · Français
تحويل rgb إلى hsl
حوّل قيم الأحمر والأخضر والأزرق — من منتقي ألوان أو لقطة شاشة أو قراءة Canvas — إلى صيغة hsl() المفهومة، مباشرة في المتصفح.
ما معنى تحويل rgb إلى hsl؟
rgb() يكتب اللون بثلاث قيم صريحة من 0 إلى 255 لكل من الأحمر والأخضر والأزرق، مثل rgb(46, 134, 222). هذه هي الصيغة التي تُخرجها أدوات كثيرة مباشرة: منتقي ألوان في نظام التشغيل، أو قراءة بكسل من Canvas عبر جافاسكربت، أو أداة تحليل لقطة شاشة.
المشكلة أن ثلاثة أرقام من 0 إلى 255 لا تخبرك مباشرة إن كان اللون فاتحًا أم داكنًا أم مشبعًا أم باهتًا؛ لمعرفة ذلك عليك مقارنة الأرقام الثلاثة ذهنيًا. صيغة hsl() تحل هذا: الصبغة تحدد موضع اللون على عجلة الألوان، والتشبع نسبة مئوية تحدد قوة اللون، والإضاءة نسبة مئوية تحدد قربه من الأسود أو الأبيض.
الحساب يجري فور الكتابة داخل متصفحك، بلا رفع أي بيانات إلى خادم وبلا زر إرسال.
طريقة الاستخدام
- أدخل قيمة rgb() كاملة أو الأرقام الثلاثة مجردة، في الحقل العلوي، أو استخدم حقول الأحمر والأخضر والأزرق الثلاثة أسفله لضبط كل قناة على حدة.
- شاهد عينة اللون وقيمة hsl() تتحدثان فورًا، مع كل تغيير في أي رقم، دون أي زر تأكيد.
- انقر لنسخ hsl() أو أي صيغة أخرى، من صف الصيغ الأخرى الذي يعرض كود hex وقيمة rgb() المكافئة، أو اتبع رابط أقرب لون مسمّى أو منتقي الألوان الكامل.
فيمَ يفيد هذا الاتجاه
هذا الاتجاه يخدم لحظة عملية محددة: لديك ثلاثة أرقام خام — غالبًا من قارئ بكسل، أو من أداة أخذ عيّنة لون من صورة، أو من قراءة Canvas في كود جافاسكربت — وتحتاج فهم هذا اللون أو وصفه لشخص آخر دون قراءة جدول أرقام.
هذا شائع أيضًا عند تصحيح الأخطاء في كود يرسم على Canvas أو يعالج صورًا: معرفة أن لونًا ما هو أزرق متوسط التشبع وفاتح إلى حد ما أسرع في الفهم من مقارنة ثلاثة أرقام صحيحة ذهنيًا، خصوصًا عند مقارنة عدة ألوان قريبة من بعضها.
كما يفيد عند بناء تدرّج لوني من لون rgb() ثابت: تحويله أولاً إلى hsl() يفتح إمكانية تعديل الإضاءة أو التشبع بمعزل عن الصبغة، وهو تعديل يصعب إجراؤه مباشرة على ثلاث قيم أحمر وأخضر وأزرق.
حدود صادقة يجب معرفتها
التحويل من RGB إلى hex لا يفقد شيئًا في أي اتجاه؛ فكلاهما وصف لنفس القيم الثلاث بصيغة مختلفة، إذ إن hex هو RGB نفسه مكتوبًا بالنظام السداسي عشري. أما التحويل إلى HSL فهو تحويل هندسي حقيقي، وهنا يظهر الفارق الوحيد الجدير بالذكر.
عند الدقة الكاملة لا يفقد هذا التحويل شيئًا أيضًا: تحويل كل الألوان الممكنة في sRGB البالغة 16,777,216 لونًا إلى HSL ثم إعادتها إلى RGB أعاد كل لون دون استثناء إلى قيمته الأصلية. لكن hsl() المعروض هنا مقرّب إلى أقرب درجة ونسبة مئوية صحيحة، وتكرار هذا التقريب عبر جميع الألوان أظهر أن التحويل رجوعًا يستعيد اللون بالضبط في 10.58% من الحالات فقط (1,775,570 لونًا)، بينما تعود البقية 89.42% بلون مختلف بمقدار درجة أو درجتين في الغالب، وحتى خمس درجات في 108 حالات فقط من أصل 16.7 مليون.
هذا متوقع رياضيًا لا عرضيًا: القيم الصحيحة الممكنة لـ HSL المقرّب (360 × 101 × 101 أي 3,672,360) أقل من ربع عدد ألوان sRGB، فلا بد أن يتشارك أكثر من لون نفس القيم الثلاث المقرّبة، وما لا يقل عن 78.11% من الألوان في هذا الوضع. صحة الحساب نفسه تحققت أيضًا بمقارنته بمكتبة colorsys في بايثون على أكثر من 60 ألف لون، شملت كل درجات الرمادي ومجموعة من الألوان الصافية، واتفقت النتيجتان دون استثناء.
حالة خاصة تستحق الذكر: عندما تتساوى قيم الأحمر والأخضر والأزرق — أي الرمادي بكل درجاته — لا يوجد اتجاه محدد على عجلة الألوان تشير إليه الصبغة، والقيمة المتعارف عليها، وهو ما تتبعه هذه الأداة، هي صبغة تساوي صفرًا.
لماذا الأداة مجانية؟
التحويل بأكمله يجري بجافاسكربت داخل متصفحك، فلا تُرسل قيم القنوات إلى أي خادم ولا تُحفظ في أي مكان. لهذا لا حاجة لحساب أو تسجيل دخول، ولا حد أقصى لعدد مرات الاستخدام، ولا أي علامة مائية على النتيجة.