أفتح لون في قائمة
من بين #000000 و#808080 و#ffffff يكون الأفتح #ffffff في الموضع 2 (بالعد من 0) بلمعان 1. رتّبوا ألوان العلامة والخلفيات والإبراز كما تراها العين لا بالتخمين. مجانًا في متصفحكم.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الألوان
- #000000, #808080, #ffffff
- الكمية
- 3
- الفهرس
- 2
- اللون
- #ffffff
- Hex
- #ffffff
تبدأ أنظمة التصميم ومولّدات السمات ومراجعات إمكانية الوصول غالبًا بعدد قليل من أكواد hex المرشّحة وتحتاج إجابة واحدةًا لسؤال بسيط: أي عيّنة هي الأفتح؟ تقدير الدرجات المتوسطة بالعين غير موثوق، ومتوسطات RGB الخام تتجاهل أن العين البشرية تُثقّل الأخضر أكثر بكثير من الأزرق. تستقبل هذه القدرة قائمة ألوان hex لـ CSS، وتحسب اللمعان النسبي وفق WCAG 2.x لكل عنصر بعد خطّية sRGB الصحيحة، وتُرجع الأفتح مع فهرسه الصفري في القائمة الأصلية. تُحسم التعادلات حتميًا بالإبقاء على أول ظهور، فلا تتبدل خطوط الأنابيب الآلية بين أبيضين متساويين حسب بيئة التشغيل.
كيف يختار اللمعان النسبي العيّنة الأفتح
اللمعان النسبي هو مقياس WCAG لمدى سطوع اللون في ظروف رؤية قياسية. بخلاف خفة HSL التي تعامل الأحمر والأخضر والأزرق بتماثل بعد التحويل، يبدأ اللمعان النسبي من قنوات sRGB ذات ثمانية بتات، ويحوّل كل قناة إلى كسر وحدوي، ويخطّي القيم المرمّزة بجاما بدالة نقل sRGB المجزّأة، ثم يجمعها بمعاملات ثابتة: صفر فاصلة اثنان واحد اثنان ستة للأحمر، وصفر فاصلة سبعة واحد خمسة اثنان للأخضر، وصفر فاصلة صفر سبعة اثنان اثنان للأزرق.
تطابق هذه الأوزان المراقب القياسي، فيُصنَّف الأخضر النقي أفتح بكثير من الأزرق النقي حتى عندما تكون القناتان عند مئتين وخمسة وخمسين. يطبّق هذا الطرف تلك الصيغة على كل لون في قائمتكم ثم يختار أقصى لمعان. عندما يتشارك عنصران القيمة نفسها تمامًا، يُبقي الخوارزمية الفهرس الأدنى ليبقى الناتج مستقرًا عبر اللغات وبيئات التشغيل.
تُوسَّع أكواد hex القصيرة ذات ثلاثة أرقام إلى ستة قبل التحليل؛ وعلامة المربّع الأولى اختيارية؛ وتُرفض صيغ ألفا ذات أربعة أو ثمانية أرقام لأن العقد RGB معتم فقط. لا بذرة عشوائية ولا طابع ساعة حائط ولا نداء شبكة في المسار، فالقائمة نفسها تُنتج دائمًا الفائز والفهرس ومصفوفة اللمعان المُقرَّبة نفسها.
أين يُجدي إيجاد اللون الأفتح عمليًا
يحتاج مصمّمو المنتجات الذين يرتّبون رموز العلامة والسطح والتمييز طريقة سريعة لتعليم مرشّح الخلفية الأفتح قبل فحص التباين مع نص المتن. تُولّد خطوط رموز التصميم تدرجات من عدة hex أساسية ويجب اختيار الدرجة الأفتح لأسطح أبيض الورق دون فتح محرّر صور كامل. يقارن مراجعو إمكانية الوصول ألوان أيقونات مرشّحة على واجهة داكنة ويريدون الخيار الأفتح للتسميات الثانوية ثم يمرّرون الزوج إلى فاحص تباين.
تجمع فرق التسويق لوحات حملات من استخراج الشعارات وتحتاج ترتيبًا قابلاً لإعادة الإنتاج عندما تبدو عدة ألوان شبه بيضاء متطابقة على جهاز العرض. إن احتجتم لاحقًا إلى تعتيم hex واحد أو حساب نسب التباين أو التحويل إلى HSL أو بناء مخططات مكمّلة، فاعاملوها كنوايا بحث وصفحات هبوط منفصلة بدل إثقال صفحة اللون الأفتح في القائمة هذه.
حالات الاستخدام
اختيار رمز السطح الأفتح
رتّبوا مرشّحي hex للعلامة والسمة حسب اللمعان النسبي WCAG واحتفظوا بالعيّنة الأفتح كرمز خلفية أبيض ورق أو بطاقة.
فرز لوحة لإمكانية الوصول
من قائمة قصيرة لألوان أيقونة أو تسمية، اختاروا الخيار الأفتح للواجهة الداكنة قبل تشغيل فحص تباين كامل.
ذهبي CI لسلالم السمة
أكّدوا في التكامل المستمر أن الدرجة الأفتح من سلم تدرجات مُولَّد تبقى عند الفهرس وhex المتوقعين بعد تغييرات اللوحة.
الأسئلة الشائعة
كيف يُختار اللون الأفتح؟
يفوز أقصى L؛ والتعادلات التامة تُبقي أدنى فهرس.
ما صيغ hex المقبولة؟
hex لـ CSS بثلاثة وستة أرقام، مع علامة مربّع أو بدونها، دون تمييز حالة الأحرف.
كم لونًا يمكن إرساله؟
بين 1 و64 شمولًا. مصفوفة فارغة أو أكثر من 64 عنصرًا تفشل التحقق ولا تُفوتر.
ماذا يحدث عند تساوي لمعان لونين؟
يُرجع أول ظهور (أدنى فهرس صفري) لتبقى النتائج حتمية عبر بيئات التشغيل.
لماذا يُعدّ الأخضر الخالص أفتح بكثير من الأزرق الخالص؟
لأن اللمعان النسبي يمنح الأخضر وزن 0.7152 والأزرق 0.0722 فقط، فالعين أشد حساسية للأخضر. لذلك يتفوق الأخضر حتى عندما تكون القناتان في أقصى قيمة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/color/lightest-in-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"colors":["#000000","#808080","#ffffff"]}'const res = await fetch("https://api.kit.forhosting.com/color/lightest-in-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"colors": [
"#000000",
"#808080",
"#ffffff"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/lightest-in-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"colors": [
"#000000",
"#808080",
"#ffffff"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/lightest-in-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"colors":["#000000","#808080","#ffffff"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"colors":["#000000","#808080","#ffffff"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/lightest-in-list", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"colors": [
"#000000",
"#808080",
"#ffffff"
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.lightest_in_list",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تفشل سلاسل hex غير الصالحة والقوائم الفارغة والمصفوفات المفرطة الحجم بـ invalid_input بدل اختراع فائز.
عقد الإدخال وشكل الاستجابة وقواعد التحقق
قد يكون كل عنصر hash-RGB أو hash-RRGGBB مع علامة المربّع أو بدونها وبأي حالة أحرف. مثال: أسود ورمادي متوسط وأبيض يُرجع الأبيض عند الفهرس اثنين بلمعان واحد. مثال: أحمر نقي وأخضر نقي وأزرق نقي يُرجع الأخضر عند الفهرس واحد لأن معامل الأخضر يهيمن. استخدموا نموذج المتصفح المجاني عند مراجعة لوحة يدويًا، ثم استدعوا العقد نفسه من السكربتات عند الحاجة لترتيب جماعي لسلالم الرموز أو مرشّحي السمة. أرسلوا كائن JSON بطريقة POST بالحقل الإلزامي colors: مصفوفة من سلسلة لون hex واحدة إلى أربع وستين. تُقبل الأسماء البديلة list وswatches وpalette لنفس الحقل. غياب colors أو قيمة غير مصفوفة أو مصفوفة فارغة أو أكثر من أربع وستين عنصرًا أو محارف غير hex أو أطوال خاطئة أو صيغ ألفا تفشل بـ invalid_input مع تسمية الحقل أو الفهرس المخالف؛ والتحقق الفاشل لا يُفوتر. عند النجاح تتضمن الاستجابة count كطول القائمة، وindex كموقع صفري للأفتح، وcolor وhex كرمز مُطبَّع بستة أرقام صغيرة مع علامة مربّع، وقنوات r g b صحيحة، وسلسلة rgb قابلة للطباعة، وrelative_luminance للفائز كعدد عائم نظيف بين صفر وواحد، وluminances كلمعان منظّف لكل إدخال بالترتيب، وسلسلة formula قصيرة توثّق مسار WCAG. تسعير طلبات API الناجحة هو الأساس المنشور $0.002 لكل عنصر.
أين يُجدي إيجاد اللون الأفتح عمليًا
يمكن لمؤلفي المناهج الذين يدرّسون علم ألوان WCAG أن يُظهروا تفوّق الأخضر النقي على الأحمر النقي حتى عند التشبع الكامل، ويريدون JSON نفسه في ودجت المتصفح وAPI. لأن هذه القدرة محرك parse نقي، يكلّف كل طلب ناجح السعر الأساسي المنشور $0.002 بلا رموز نموذج ولا شبكة صادرة، ولا يستهلك التحقق الفاشل الرصيد المدفوع مسبقًا.
أسئلة تقنية
كم تكلفة باحث اللون الأفتح؟
أداة المتصفح مجانية وتعمل محليًا. طلبات API تستخدم رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل عنصر ناجح؛ والإدخال غير الصالح لا يُحاسب.