عدّل تباين لون بعامل
أبعد قنوات اللون عن الرمادي المتوسط 128 لتزيد حدته، أو قرّبها منه لتهدئه: يصبح #3366cc بمعامل 1.5 هو #0d59f2. والمعامل 1 لا يغيّر شيئاً. مجاناً في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- اللون
- #3366cc
- العامل
- 1.5
- الرمادي المتوسط
- 128
- Hex
- #0d59f2
- المقاومة (Ω)
- 13
- G
- 89
التباين حول الرمادي الأوسط هو الحركة التصويرية الكلاسيكية التي تمدّ أو تضغط كل قناة من الأحمر والأخضر والأزرق مبعدًا إياها عن منتصف ثمانية البتّات مئة وثمانية وعشرين، بدل تحريك إضاءة HSL أو رفع قوة غاما. يستخدم المصممون ومؤلفو الرموز ومهندسو الرسوم عامل تباين عندما يريدون عينات أقوى أو أكثر تسطحًا دون تدوير عجلة الصبغة أو معاملة اللون كصورة كاملة. تقبل هذه الأداة لون hex من CSS وعاملًا محدودًا في الفترة المغلقة من صفر إلى عشرة، وتطبق القاعدة لكل قناة بأن الخرج يساوي الرمادي الأوسط زائد المسافة ذات الإشارة من ذلك الرمادي مضروبة في العامل، وتقيّد كل قناة بالنطاق القانوني من صفر إلى مئتين وخمسة وخمسين، وتعيد الـ hex المعدَّل وأعداد RGB الصحيحة. عامل الواحد يترك العينة دون تغيير؛ وعامل الصفر يطوي كل القنوات إلى الرمادي الأوسط؛ والقيم فوق الواحد تزيد التباين وقد تقصّ الإضاءات أو الظلال.
ما الذي يفعله التباين حول الرمادي الأوسط بقنوات RGB
ابدأ بلون hex من CSS مثل هاش ثلاثة ثلاثة ستة ستة c c أو الشكل القصير هاش ثلاثة ستة c. يوسّع المحلل الرموز ثلاثية الأرقام ويحوّلها إلى أحرف صغيرة ويحوّل كل زوج إلى أعداد صحيحة للأحمر والأخضر والأزرق من صفر إلى مئتين وخمسة وخمسين. الرمادي الأوسط على مقياس ثمانية البتّات هو مئة وثمانية وعشرون: المحور الصحيح الذي تستخدمه منزلِقات التباين الكلاسيكية في برامج الرسم ومسارات النقطية.
تُعاد كتابة كل قناة بحساب عادي: اطرح الرمادي الأوسط، واضرب بعامل التباين، ثم أعد جمع الرمادي الأوسط، وقرّب إلى أقرب عدد صحيح وقيّد في الصندوق القانوني من صفر إلى مئتين وخمسة وخمسين. القنوات التي هي أصلًا عند الرمادي الأوسط تبقى ثابتة لأي عامل محدود، لأن مسافتها ذات الإشارة صفر. القنوات الأغمق من الرمادي الأوسط تبتعد عنه عندما يكون العامل أكبر من واحد وتقترب منه عندما يكون العامل بين صفر وواحد.
القنوات الأفتح من الرمادي الأوسط تفعل الأمر نفسه في الاتجاه المعاكس. عامل يساوي واحدًا تمامًا هوية: كل قناة بعد التقريب تطابق الإدخال. عامل الصفر يسطّح العينة إلى الرمادي الأوسط على القنوات الثلاث، وهو رمز hex ثمانية صفر ثمانية صفر ثمانية صفر.
العوامل الكبيرة تقصّ: قد يبلغ أحمر داكن الصفر وأزرق فاتح مئتين وخمسة وخمسين، وتبقى تلك الأطراف المقصوصة عند الجدران القانونية بدل أن تلتف. يُطبَّق العامل نفسه باستقلال على الأحمر والأخضر والأزرق، فقد يتغير توازن القنوات النسبي مقارنة بقصة تباين HSL تجمّد الصبغة. ذلك الفرق مقصود: هذا العقد تمدد خطي حول الرمادي الأوسط، لا منزلقًا إدراكيًا ولا نسبة WCAG بين لونين.
تُرفض أشكال hex ذات ألفا بأربعة أو ثمانية أرقام لأن العقد RGB معتم فقط.
عقد الإدخال وشكل الاستجابة والتحقق
أرسل حقلين: color كسلسلة hex وfactor كعدد محدود من صفر إلى عشرة شمولًا. تتضمن كل عينة role وhex والأعداد الصحيحة r g b وسلسلة rgb قابلة للطباعة. تعكس الحقول العليا hex وr وg وb النتيجة المعدَّلة بالتباين لعملاء سطر واحد.
توثّق سلسلة formula قصيرة قاعدة الرمادي الأوسط لكل قناة للتوثيق والدعم. فحوصات نموذجية: تطبيق العامل واحد فاصلة خمسة على أزرق متوسط، وتطبيق العامل صفر فاصلة خمسة لتسطيح أحمر مشبع نحو الرمادي، وتأكيد أن العامل واحد يعيد الـ hex الأصلي، وتأكيد أن العامل صفر يعطي الرمادي الأوسط، ورفض العامل خمسة عشر أو لون ناقص. اربط نموذج المتصفح المجاني للمعاينات السريعة، ثم استدعِ نفس العقد من السكربتات عند الحاجة إلى توليد رموز بالجملة أو فحوص التكامل المستمر.
أبقِ العامل داخل الفترة الموثقة بدل الاعتماد على قصّ صامت للمضاعف نفسه — تفشل هذه الأداة بصراحة على عامل سيئ حتى تبقى أنظمة التصميم ومسارات العرض قابلة للتنبؤ عبر البيئات.
أين يثبت عامل التباين حول الرمادي الأوسط جدواه
كثيرًا ما تحتفظ فرق العلامة والمنتج بـ hex بطل واحد وتحتاج رفيقًا أقوى أو أهدأ دون فتح محرر صور كامل أو اختراع لون علامة ثانٍ بالعين. يولّد مؤلفو رموز التصميم منحدرات تباين بمسح عامل عبر عينة أساس عندما يبدو تفتيح أو تعتيم HSL باستيلًا أكثر مما ينبغي وتبدو غاما مرتبطة بالشاشة أكثر مما ينبغي. تنتج أدوات العرض والتسويق تنويعات حملة من شعار مشبع: ارفع العامل لملصق، واخفضه لشريحة خلفية مكتومة.
يستطيع مؤلفو مناهج التصوير إظهار أن تمديد RGB حول الرمادي الأوسط ليس تغيير إضاءة HSL، ولا منحنى قوة غاما، ولا قياس تباين WCAG بين لونين. إن احتجت لاحقًا مقارنة رمزَي hex لإمكانية الوصول، أو تطبيق أسّ غاما، أو التفتيح أو التعتيم في HSL، أو ترشيح صورة كاملة، فعاملها نوايا بحث وصفحات هبوط منفصلة بدل إثقال صفحة العامل حول الرمادي الأوسط هذه.
حالات الاستخدام
تقوية hex علامة دون صبغة جديدة
ارفع لون شعار واحد حول الرمادي الأوسط والتقط الـ hex الناتج للملصقات وحالات المرور ومراجعات التصميم.
منحدرات رموز مكتومة من عينة واحدة
امسح العامل دون الواحد لتسطيح الدرجات المتوسطة نحو الرمادي مع الإبقاء على نسب RGB نفسها بدل تحريك إضاءة HSL.
الأسئلة الشائعة
كيف يغيّر عامل التباين لون hex لديكم؟
تصبح كل قناة RGB المسماة c هي clamp(round(128 + (c − 128) × factor), 0, 255). يبقى الرمادي الأوسط ثابتًا؛ وتبتعد القنوات الأغمق والأفتح عن 128 عندما يكون العامل فوق 1 وتقترب من 128 عندما يكون دون 1.
ما نطاق العامل المسموح؟
يجب أن يكون العامل عددًا محدودًا في [0, 10].
ما صيغ hex المقبولة؟
hex من CSS بثلاثة أرقام وستة، مع هاش بادئ أو بدونه. تُرفض أشكال ألفا (#rgba / #rrggbbaa) والأحرف غير الـ hex.
ماذا يفعل المعاملان 0 و1؟
المعامل 1 يترك اللون كما هو تماماً. أما المعامل 0 فيجذب كل القنوات إلى الرمادي المتوسط، فيصبح أي لون #808080. وما فوق 1 يزيد التباين، وما بين 0 و1 يخففه.
لماذا تتوقف قناة عند 0 أو 255؟
مع المعاملات الكبيرة قد تتجاوز القناة الحدود: الأحمر الداكن يبلغ 0، والأزرق الفاتح يبلغ 255. عندها تبقى القيمة عند الحد ولا تلتف إلى الجهة الأخرى.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/color/contrast-adjust \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#3366cc","factor":1.5}'const res = await fetch("https://api.kit.forhosting.com/color/contrast-adjust", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#3366cc",
"factor": 1.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/contrast-adjust",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#3366cc",
"factor": 1.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/contrast-adjust", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#3366cc","factor":1.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#3366cc","factor":1.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/contrast-adjust", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"color": "#3366cc",
"factor": 1.5
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.contrast_adjust",
"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 واضح لا بلفّ صامت. يشترك المسار المجاني في المتصفح وواجهة API المدفوعة في دالة تماثلية نقية واحدة، فلا تختلف مراجعات التصميم والأتمتة على نفس زوج المدخلات.
عقد الإدخال وشكل الاستجابة والتحقق
يقبل color أيضًا الاسمين المستعارين hex وbase؛ ويقبل factor الاسمين contrast وamount. الحقول الناقصة والأحرف غير الـ hex والأطوال الخاطئة وNaN وInfinity والعوامل السالبة والقيم فوق عشرة تفشل بـ invalid_input ولا تُحاسب. عند النجاح تعكس الاستجابة اللون سداسي الأرقام المعياري والعامل العددي، وتبلّغ mid_gray بأنه مئة وثمانية وعشرون، ثم تقدّم عينتي original وresult. تسعير استدعاءات API الناجحة هو الأساس المنشور $0.002 لكل عنصر؛ وفشل التحقق لا يستهلك الرصيد المدفوع مسبقًا.
أين يثبت عامل التباين حول الرمادي الأوسط جدواه
لأن هذه القدرة محرك parse نقي، يكون تسعير API هو الأساس المنشور $0.002 لكل عنصر ناجح ولا يستهلك فشل التحقق الرصيد.
حالات التكامل
فحوص golden للتكامل المستمر على تباين السمة
أكد أن رموز الإنتاج ما زالت تطابق التمدد المتوقع حول الرمادي الأوسط بعد تعديل اللوحة، دون فتح محرر صور.
أسئلة تقنية
ماذا يحدث عند factor = 1 وfactor = 0؟
العامل 1 هوية: لا تتغير أي قناة، فيطابق hex النتيجة الـ hex المعياري للإدخال. العامل 0 يطوي كل القنوات إلى الرمادي الأوسط 128، أي #808080.
كم يكلف تعديل تباين اللون؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل عنصر ناجح؛ ولا تُحاسب المدخلات غير الصالحة.