تحويل OKLab إلى HEX وRGB

مفيد لتوفير لون احتياطي بصيغة HEX للمتصفحات القديمة أو لبرامج التصميم التي لا تفهم OKLab.

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

طريقة الاستخدام

  1. أدخل الإضاءة L (من 0 إلى 1)، المحور a والمحور b.
  2. تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
  3. انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.

طريقة الحساب

l' = L + 0.3963·a + 0.2158·b، m' = L − 0.1056·a − 0.0639·b، s' = L − 0.0895·a − 1.2915·b، تُكعَّب ثم R = 4.0767·l − 3.3077·m + 0.2310·s، G = −1.2684·l + 2.6098·m − 0.3413·s، B = −0.0042·l − 0.7034·m + 1.7076·s. ثم يُرمَّز RGB الخطي حسب IEC 61966-2-1: 12.92·l إذا l ≤ 0.0031308، وإلا 1.055·l^(1/2.4) − 0.055، ويُضرب في 255 ويُقرَّب.

مثال

المدخلات: الإضاءة L (من 0 إلى 1) = 0.7، المحور a = 0.1، المحور b = ‎-0.1. النتيجة: رمز HEX: #BF81DA، حالة النطاق: داخل نطاق sRGB.

الحدود والملاحظات

  • الألوان خارج نطاق sRGB تُقص قنواتها إلى 0 حتى 255، فيتغير اللون المعروض قليلا أو كثيرا.
  • أدخل L رقما من 0 إلى 1؛ إن كانت لديك نسبة مثل ⁦70%⁩ فاكتبها 0.7.

أسئلة شائعة عن هذه الأداة

كيف أنقل القيم من oklab() في CSS؟

الرقم الأول هو L والثاني a والثالث b. إن كان L مكتوبا بنسبة مئوية فاقسمه على 100.

لماذا ظهر اللون خارج النطاق؟

OKLab يغطي ألوانا أكثر من sRGB، فبعض القيم تعطي قناة سالبة أو فوق 255. المتصفح عندها يقلل الكروما، أما الأداة فتقص القنوات.

هل L = 0.5 رمادي متوسط؟

في الإدراك نعم تقريبا، لكنه يعطي RGB بقيمة 99 وليس 128، لأن OKLab يتبع حساسية العين لا القيم المرمزة.