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