مزج لونين بنسبة محددة
تجمع هذه الأداة لونين سداسيين بوزن مئوي دقيق في فضاء RGB. أدخلوا اللون الأول واللون الثاني ونسبة مساهمة اللون الثاني.
شغّل الأداة مجانًا
تحسب الأداة متوسط الأحمر والأخضر والأزرق كلًا على حدة، وتقرب كل نتيجة إلى قيمة قناة صحيحة، ثم تعيد قيمة سداسية موحدة بأحرف كبيرة وأرقام RGB منفصلة. تفيد الأداة عندما تحتاج رموز التصميم أو الرسوم أو السمات أو المواد الآلية إلى نتيجة قابلة للتكرار بدل لون مختار بالنظر. ترفض الألوان والنسب غير الصالحة بوضوح، وتنتج المدخلات المتطابقة دائمًا المخرجات نفسها.
حددوا اتجاه النسبة قبل مزج اللونين
تعاملوا مع النسبة على أنها المساهمة المئوية للون الثاني. تمنح القيمة صفر الوزن كله للون الأول، فتساوي النتيجة color1، بينما تعيد القيمة مئة color2. عند خمس وعشرين يساهم الأول بخمسة وسبعين في المئة والثاني بخمسة وعشرين. لذلك يهم ترتيب المدخلات عند إنشاء درجات مترابطة، لأن عكس اللونين من دون عكس النسبة يغير النتيجة. أدخلوا صيغة سداسية مختصرة من ثلاثة أرقام مثل #F00 أو صيغة كاملة من ستة مثل #FF0000. يمكن حذف علامة المربع الأولى، لكن يجب أن تكون بقية المحارف سداسية. ترفض الأداة عمدًا أسماء CSS ودوال RGB والألوان ذات ثمانية أرقام وقناة ألفا والحقول الناقصة والقيم المشوهة، ولا تحاول تخمين المقصود. يجعل هذا التحقق معالجة الدفعات أكثر أمانًا؛ فالخطأ المطبعي ينتج خطأ إدخال واضحًا بدل لوحة تبدو معقولة وهي خاطئة. وثقوا ترتيب اللونين في البرامج القابلة لإعادة الاستخدام ليعرف المسؤولون إلى أي طرف تنطبق النسبة المعلنة.
افهموا طريقة حساب متوسط RGB الموزون
تحول الخوارزمية كل لون سداسي أولًا إلى قنوات حمراء وخضراء وزرقاء بين صفر و255. تضرب في كل قناة القيمة الأولى في واحد ناقص كسر النسبة، وتضرب الثانية في كسر النسبة، ثم تجمع الناتجين وتقرب المجموع إلى أقرب عدد صحيح. يمنح المزج عند خمسين في المئة المدخلين وزنًا متساويًا، بينما تبقى نسبة عشرة في المئة أقرب كثيرًا إلى الأول. تحسب القنوات منفصلة من دون عشوائية أو جداول أو اتصال شبكي أو قواعد خفية. هذا متوسط خطي لقنوات RGB المشفرة، وليس مزجًا إدراكيًا ولا تحويلًا عبر HSL أو LAB أو LCH أو الأصباغ أو الضوء المصحح بأشعة غاما. لذلك قد لا تبدو نقطة الوسط بين لونين مختلفي السطوع متساوية بصريًا، وهذا سلوك مقصود. يلائم النموذج البرامج التي تحتاج الحساب المألوف في مولدات الرموز والرسوم، ويحدد حقل الطريقة العملية لتسهيل المراجعة لاحقًا.
استخدموا النتيجة بثبات في التصميم والأتمتة
تعيد الاستجابة اللون الممزوج في صورة قيمة سداسية كبيرة من ستة أرقام وكائن RGB بقنوات صحيحة. كما تكرر النسبة وتعرض الوزنين الموحدين وتسمّي الطريقة. استخدموا القيمة السداسية في متغيرات CSS وملفات السمات وإعدادات الرسوم وقوالب البريد وملفات رموز التصميم. استخدموا القنوات المنفصلة عندما يحتاج برنامج آخر إلى أرقام أو عند فحص التباين والسطوع. ولأن الحساب حتمي ومحدود، فهو مناسب للاختبارات الدقيقة؛ يمكن حفظ طلب ثابت كمرجع ومقارنته حرفيًا في كل تشغيل. تناسب نسخة المتصفح العمل العرضي، وتبلغ كلفة طلب API مقدار $0.002 عندما تحتاج منظومة بناء أو إدارة محتوى أو تطبيق إلى السلوك نفسه آليًا. افحصوا سهولة الوصول إذا ظهر نص فوق اللون الناتج، لأن صحة النسبة رياضيًا لا تضمن تباينًا كافيًا. ولإنشاء تدرج، حافظوا على الزوج المرتب نفسه وطبقوا سلسلة نسب مخططة كي تبقى الأطراف والعينات قابلة للتكرار.
حالات الاستخدام
إنشاء درجات رموز التصميم
أنشئوا ألوانًا وسطية قابلة للتكرار بين لونين معتمدين للعلامة التجارية وبأوزان موثقة.
بناء بدائل ألوان للرسوم
قربوا لون سلسلة من خلفية أو لون إبراز مشترك من دون اختيار كل عينة يدويًا.
اختبار حالات الواجهات ذات السمات
أنتجوا ألوانًا ثابتة للحالات النشطة والمحددة والمعطلة ضمن مسارات توليد السمات.
الأسئلة الشائعة
ماذا تمثل النسبة؟
إنها الوزن المئوي لـ color2، أما النسبة المتبقية فتخص color1.
ما صيغ الألوان المقبولة؟
تقبل الألوان السداسية من ثلاثة أو ستة أرقام، مع علامة المربع الأولى أو من دونها.
كيف تعالج قيم القنوات الكسرية؟
تقرب JavaScript كل قناة RGB موزونة بصورة حتمية إلى أقرب عدد صحيح.
هل هذا مزج لوني إدراكي؟
لا، إنه متوسط مباشر لقنوات RGB المشفرة، وليس مزج HSL أو LAB أو مزجًا مصححًا بأشعة غاما.
ما كلفة طلب API؟
السعر الأساسي للواجهة هو $0.002 لكل عنصر، ويمكن استخدام أداة المتصفح مباشرة في الصفحة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/color/mix-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color1":"#FF0000","color2":"#0000FF","ratio":50}'const res = await fetch("https://api.kit.forhosting.com/color/mix-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color1": "#FF0000",
"color2": "#0000FF",
"ratio": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/mix-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color1": "#FF0000",
"color2": "#0000FF",
"ratio": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/mix-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color1":"#FF0000","color2":"#0000FF","ratio":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color1":"#FF0000","color2":"#0000FF","ratio":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/mix-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"color1": "#FF0000",
"color2": "#0000FF",
"ratio": 50
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.mix_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |