وسّع رمز اللون السداسي المختصر
تحوّل أداة توسيع اللون السداسي المختصر لون CSS المكوّن من ثلاثة أرقام إلى مكافئه الكامل ذي الستة أرقام.
شغّل الأداة مجانًا
أدخل قيمة مثل #3a7 لتحصل على #33aa77 جاهزة لأوراق الأنماط ورموز التصميم وملفات الإعداد وواجهات API التي تشترط الصيغة الطويلة. تتحقق الأداة من الإدخال كاملًا قبل توسيعه، ولذلك تُرجع خطأ واضحًا للألوان ذات الستة أرقام وصيغ ألفا والحروف غير الصحيحة والقيم الناقصة. تُوحّد النتيجة بأحرف صغيرة وتحتوي دائمًا على علامة # في البداية للاستخدام المباشر في CSS.
كيفية توسيع الصيغة السداسية ذات الأرقام الثلاثة
يصف لون CSS السداسي عادةً قنوات الأحمر والأخضر والأزرق برقمين لكل قناة، أما الصيغة المختصرة فتستخدم رقمًا واحدًا لكل قناة. لا يضيف التوسيع أصفارًا ولا يقدّر درجة لون قريبة، بل يكرر كل رقم أصلي. لذلك تصبح #3a7 هي #33aa77: يتحول 3 الأحمر إلى 33، وa الأخضر إلى aa، و7 الأزرق إلى 77. يحافظ هذا التكرار بدقة على اللون الذي تمثله الصيغة المختصرة وفق قواعد CSS. تقبل الأداة الحروف السداسية الكبيرة والصغيرة، وتوحّد الإجابة بالحروف الصغيرة كي تكون الإعدادات الناتجة متسقة دون تغيير اللون. علامة # الأولية اختيارية في الإدخال لأن القيم القادمة من الجداول أو سطر الأوامر أو النماذج قد لا تتضمنها. تحتوي القيمة الكاملة المعادة عليها دائمًا، ويوفر حقل آخر الأرقام الستة من دونها للأنظمة التي تخزن النص السداسي الخام. لا يحدث تحويل لمساحة اللون ولا تقريب؛ فالعملية تحويل مباشر وحتمي للحروف.
شروط الإدخال الصحيح
يحتوي الإدخال الصحيح على ثلاثة أرقام سداسية بالضبط بعد علامة # أولية اختيارية. يُسمح بالأرقام من 0 إلى 9 والحروف من A إلى F، كبيرة أو صغيرة. القيم #09f وabc وF0C صحيحة، أما #12 و#1234 و#112233 وred و0xabc و#ggg فليست صحيحة. هذه القاعدة الصارمة مهمة لأن الصيغ المتشابهة قد تحمل معاني مختلفة. قد تمثل أربعة أرقام صيغة مختصرة مع قناة ألفا، بينما تكون الستة أرقام موسعة أصلًا؛ وقبول أي منهما بصمت يغيّر الغرض المحدد للأداة. تُزال المسافات الخارجية لتسهيل الاستخدام من النماذج والحافظة، لكن المسافات داخل اللون تظل غير صالحة. يجب أن يكون الإدخال نصًا أيضًا، لأن القيمة العددية قد تفقد أصفارًا أولية مهمة قبل وصولها إلى الأداة. عند فشل التحقق، تعيد API خطأ إدخال غير صالح مع رسالة توضح الصيغة المطلوبة. وهكذا تكشف العمليات الآلية الأخطاء ولا تكتب قيمًا مشوهة في ورقة أنماط أو مجموعة رموز تصميم.
استخدام اللون الموسع ضمن سير العمل
استخدم القيمة الموسعة عندما تشترط أداة لاحقة أو مخطط أو قاعدة فريق ألوانًا من ستة أرقام. يستطيع برنامج ترحيل توحيد الرموز القديمة قبل مقارنتها، ويمكن لمستورد نظام تصميم تحويل القيم المدمجة قبل حفظ الرموز القياسية، كما تستطيع سلسلة التحقق رفض أسماء الألوان العرضية أو صيغ ألفا عند مدخلها. ولأن الناتج نص ثابت بأحرف صغيرة، تنتج الطلبات ذات اختلاف حالة الحروف القيمة القياسية نفسها، فتظل الفروق ومفاتيح التخزين المؤقت مرتبة. يستخدم مشغّل المتصفح المنطق النقي نفسه الذي تستخدمه API، ولذلك تتصرف القيمة التي تتحقق منها تفاعليًا بالطريقة ذاتها عند الأتمتة. لا تعتمد العملية على الشبكة ولا تستعلم من قواعد ألوان خارجية. أرسل اللون المختصر في حقل hex واقرأ expanded لقيمة جاهزة لـCSS، أو expanded_no_hash عندما تضيف الصيغة الأخرى بادئتها الخاصة. تكلفة تنفيذ API هي $0.002 لكل طلب. استخدم أداة تحويل ألوان مخصصة إذا احتجت إلى RGB أو HSL أو الأسماء أو المزج أو التباين.
حالات الاستخدام
توحيد رموز التصميم
حوّل القيم المدمجة إلى ألوان متسقة من ستة أرقام وأحرف صغيرة قبل التخزين أو المقارنة.
إعداد CSS لسلسلة صارمة
وسّع الألوان المختصرة لأدوات التدقيق والمولدات والمخططات التي تشترط صيغة #RRGGBB الكاملة.
التحقق من بيانات اللون المستوردة
ارفض الحروف والأطوال غير الصحيحة أثناء تحويل الإدخالات السليمة ذات الأرقام الثلاثة من مصدر البيانات.
الأسئلة الشائعة
ماذا تفعل عملية التوسيع؟
تكرر كل رقم في الصيغة المختصرة؛ فمثلًا تصبح #3a7 هي #33aa77.
هل علامة # الأولية مطلوبة؟
لا. تُقبل #abc وabc، ويحتوي حقل expanded دائمًا على علامة # في البداية.
هل تُقبل الحروف الكبيرة؟
نعم. يمكن كتابة الحروف السداسية من A إلى F كبيرة أو صغيرة، ويُوحّد الناتج بالحروف الصغيرة.
هل يمكن إرسال لون من ستة أو أربعة أرقام؟
لا. تقبل هذه الأداة ثلاثة أرقام سداسية بالضبط، وتعيد الأطوال الأخرى خطأ إدخال غير صالح.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويتوفر التوسيع الحتمي نفسه في مشغّل المتصفح أيضًا.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/color/hex-shorthand-expand \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hex":"#3a7"}'const res = await fetch("https://api.kit.forhosting.com/color/hex-shorthand-expand", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hex": "#3a7"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hex-shorthand-expand",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hex": "#3a7"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hex-shorthand-expand", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hex":"#3a7"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hex":"#3a7"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hex-shorthand-expand", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"hex": "#3a7"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hex_shorthand_expand",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |