إنشاء مواصفات صورة بديلة بالأبعاد والألوان
اطلب صورة بديلة بحجم 640 × 360 فتحصل على حجم اللوحة، والألوان مكتوبة بصيغة واحدة مثل #1A2B3C، وعلامة «640 × 360» في المنتصف عند 320، 180. احجز مكان كل صورة في التصميم قبل وصول الصورة النهائية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تفيد مواصفات الصورة البديلة عندما يحتاج التصميم إلى أبعاد متوقعة للصورة قبل توافر العمل الفني النهائي. أدخلوا عرضًا وارتفاعًا موجبين بالبكسل، وحددوا اختياريًا لون الخلفية ولون النص بالصيغة السداسية العشرية. تصف النتيجة مساحة الرسم والألوان الموحّدة وتسمية الأبعاد الموضوعة في المركز تمامًا.
حددوا مساحة الرسم قبل إنشاء الواجهة
ابدؤوا بالعرض والارتفاع الدقيقين اللذين ستشغلهما الصورة النهائية. تُقاس القيمتان بالبكسل ويجب أن تكونا عددين صحيحين موجبين، وبذلك تلائم المواصفات المتصفحات وأنظمة التصميم وبيانات الاختبار المعتادة. يحافظ كائن الأبعاد في النتيجة على القيمتين من دون تحجيم أو تخمين لنسبة العرض إلى الارتفاع.
لذا تعمل النتيجة كعقد ثابت بين نظام المحتوى الذي يعرف الحيز المطلوب للصورة وأداة الرسم التي ستحول المواصفات لاحقًا إلى SVG أو أوامر canvas أو CSS أو صيغة أخرى. ولأن هذه القدرة تعيد وصفًا بدلًا من بيانات صورة ثنائية، تبقى لكم حرية اختيار نوع الملف والضغط والخط وبيئة الرسم. يمكن لمكوّن بطاقة أن يطلب مواصفات أفقية، ولمكوّن صورة شخصية أن يطلب مواصفات مربعة، مع حصول كليهما على البنية المتوقعة نفسها.
تُرفض الأبعاد الصفرية أو السالبة أو الكسرية أو المفقودة أو غير الرقمية بدل تصحيحها بصمت، وهذا يمنع انتقال بيانات تخطيط غير سليمة إلى المراحل اللاحقة من سير العمل.
اختاروا ألوانًا سداسية عشرية معيارية
لونا الخلفية والنص اختياريان. عند حذفهما، تستخدم المواصفات خلفية رمادية فاتحة محايدة ونصًا رماديًا داكنًا بوصفهما قيمتين عمليتين للصورة البديلة. يجب أن يتبع كل لون مقدّم صيغة CSS السداسية العشرية المؤلفة من 3 أو 4 أو 6 أو 8 خانات، وتكون علامة المربع في البداية اختيارية.
تُوسّع الصيغ المختصرة وتُحوّل الحروف إلى كبيرة، لكي تنتج المدخلات المتكافئة قيمة معيارية واحدة. وهكذا لا تنشئ الصيغة القصيرة ومكافئتها ذات الخانات الست مفاتيح تخزين مؤقت أو لقطات مختلفة بلا داعٍ. تحتفظ الصيغتان ذواتا 4 و8 خانات بمعلومات ألفا لأدوات الرسم التي تدعم الشفافية.
لا تقبل القدرة أسماء الألوان أو التدرجات أو الدوال أو رموز التصميم، لأنها تعتمد على بيئة تنسيق بعينها وتقلل قابلية النقل. كما أنها لا تضمن استيفاء زوج الألوان معيارًا للتباين. إذا كانت سهولة القراءة مهمة، فتحققوا من الألوان الموحّدة قبل الرسم.
تحدد رسائل الخطأ الواضحة حقل اللون ذي الصيغة غير المدعومة ليُصحح فورًا.
ارسموا التسمية في المنتصف باتساق
يُنشأ نص التسمية مباشرة من الأبعاد التي اجتازت التحقق، بالصيغة المألوفة للعرض مضروبًا في الارتفاع. يساوي الإحداثي الأفقي نصف العرض، ويساوي الإحداثي الرأسي نصف الارتفاع، ولذلك قد تنتج الأبعاد الفردية إحداثيات بنصف بكسل بصورة صحيحة. تخبر قيم المحاذاة الأفقية والرأسية الصريحة أداة الرسم اللاحقة بأن تثبّت التسمية من مركزها، لا أن تتعامل مع الإحداثيات كأنها نقطة البداية العلوية اليسرى.
وهذا يتجنب فرض افتراضات بشأن عائلة الخط أو حجمه أو ارتفاع السطر أو قياس النص، فهي قرارات تخص طبقة الرسم. يمكن لتنفيذ في المتصفح أن يحول الحقول إلى سمات نص SVG، بينما تستخدم مكتبة رسومية في الخادم الإحداثيات نفسها مع خياراتها الخاصة للتوسيط. تظل المواصفات حتمية لأنها لا تنفذ سوى التحقق والتوحيد والحساب.
لا تؤثر فيها أي مكالمة شبكة أو ساعة أو مصدر عشوائي أو حالة مخزنة. لذلك تناسب هذه البنية الثابتة اختبارات الانحدار المرئي وأمثلة التوثيق والتخطيطات الهيكلية وتوليد بيانات الاختبار.
حالات الاستخدام
إعداد بيانات التخطيطات المتجاوبة
أنشئوا مواصفات متسقة لمساحات الصور في البطاقات والمعارض واللافتات قبل توافر الأصول النهائية.
تغذية أداة رسم صور داخلية
وحّدوا الأبعاد والألوان قبل تحويل النتيجة إلى SVG أو عمليات canvas أو أوامر رسم في الخادم.
تثبيت الاختبارات المرئية
استخدموا إحداثيات حتمية وألوانًا معيارية في اللقطات من دون الاعتماد على خدمة خارجية للصور البديلة.
الأسئلة الشائعة
ماذا يحدث عند حذف الألوان؟
تأخذ الخلفية القيمة #CCCCCC وتأخذ التسمية القيمة #333333، وتظهر كلتاهما في النتيجة بصيغة موحّدة من ست خانات.
ما صيغ الألوان المقبولة؟
تُقبل ألوان CSS السداسية العشرية ذات 3 أو 4 أو 6 أو 8 خانات، مع علامة المربع في البداية أو من دونها.
لماذا قد يحتوي إحداثي المركز على كسر؟
يقع المركز الرياضي لبعد ذي عدد فردي من البكسلات بين بكسلين، ولذلك تنتج القسمة على اثنين نصف بكسل بصورة صحيحة.
هل تنشئ الأداة ملف الصورة البديلة نفسه؟
لا. فهي تصف اللوحة والألوان والعلامة المتوسطة دون أن ترسم أي صورة أو تنزّلها أو تحفظها. ومن يحوّلها إلى صورة يختار بحرية نوع الملف والضغط والخط.
هل تتحقق الأداة من وضوح النص فوق الخلفية؟
لا، فهي لا تضمن أن زوج الألوان يستوفي أي معيار للتباين. إذا كان الوضوح مهمًا، فافحص اللونين بعد توحيدهما بأداة لفحص التباين قبل رسم الصورة البديلة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/placeholder-image-spec \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":640,"height":360}'const res = await fetch("https://api.kit.forhosting.com/image/placeholder-image-spec", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 640,
"height": 360
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/placeholder-image-spec",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 640,
"height": 360
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/placeholder-image-spec", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":640,"height":360}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":640,"height":360}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/placeholder-image-spec", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"width": 640,
"height": 360
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.placeholder_image_spec",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 15 |
max_megapixels | 12 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
لا تُنزّل هذه الأداة صورة ولا ترسمها ولا تخزنها، ولذلك تنتج المدخلات نفسها دائمًا ملف JSON موجزًا مطابقًا من دون الاعتماد على خدمة خارجية.
أسئلة تقنية
هل تنشئ هذه القدرة ملف صورة؟
لا. إنها تعيد مواصفات JSON مستقلة عن أداة الرسم تصف المساحة والألوان والنص وموضع التسمية في المنتصف.
كم تبلغ كلفة طلب API؟
تبلغ كلفة كل طلب API $0.002. لا يستخدم الحساب أي خدمة شبكة خارجية.