ForHosting KIT · تحرير الصور وتحليلها

قص صورة إلى مربع محدد

يبدو حساب قص الصورة بسيطًا إلى أن تستقبل مهمة آلية إحداثيات تتجاوز الصورة الأصلية بمقدار بكسل واحد.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم

تستقبل هذه الأداة عرض الصورة المصدر وارتفاعها، إلى جانب مربع قص تحدده قيم x وy والعرض والارتفاع. وهي تفحص كل قيمة، وتتأكد من بقاء المستطيل كاملًا داخل الصورة، ثم تعيد أبعاد الجزء المقصوص عندما يكون المربع صالحًا. لا يلزم رفع الصورة أو فك ترميزها، ولذلك يمكنكم استخدامها قبل تشغيل معالج صور، أو إنشاء معاينة للقص، أو قبول إحداثيات واردة من خدمة أخرى.

حددوا الصورة المصدر ومربع القص

ابدؤوا بأبعاد الصورة الأصلية بالبكسل. ضعوا في image_width العدد الإجمالي للبكسلات أفقيًا، وفي image_height العدد الإجمالي للبكسلات عموديًا. بعد ذلك صفوا المستطيل بالقيم x وy وwidth وheight. تحدد x وy موضع الزاوية العلوية اليسرى للمربع نسبة إلى الزاوية العلوية اليسرى للصورة، وإحداثياتها 0,0. يمتد width نحو اليمين ويمتد height نحو الأسفل. يجب أن تكون القيم الست أعدادًا صحيحة لأن الأداة تتعامل مع قص صورة نقطية بمحاذاة البكسلات، لا مع هندسة كسرية. يجب أن تكون أبعاد الصورة والقص موجبة، بينما يجوز أن تكون x وy صفرًا. فمثلًا، تعني القيمة 240 في x تجاوز أول 240 عمودًا من البكسلات قبل بدء القص. يمكن للمربع أن يلامس أي حافة تمامًا؛ لذلك يجوز أن يساوي مجموع x وwidth قيمة image_width، وأن يساوي مجموع y وheight قيمة image_height. استخدموا أبعاد ملف الصورة نفسه الذي سيُقص، وحولوا إحداثيات المعاينة المصغرة إلى مقياس الصورة الأصلية أولًا.

افهموا كيفية التحقق من الحدود

ترفض الأداة أولًا القيم الناقصة، والأعداد غير الصحيحة، والإحداثيات السالبة، والمربعات عديمة المساحة، والقيم الخارجة عن النطاق الموثق. ثم تفحص الحدين اللذين يحددان احتواء المستطيل. أفقيًا، يجب أن يكون مجموع x وwidth أقل من image_width أو مساويًا له. وعموديًا، يجب أن يكون مجموع y وheight أقل من image_height أو مساويًا له. إذا كان أحد المجموعين أكبر، وقع جزء من القص خارج الصورة المصدر وأعاد الطلب خطأ إدخال غير صالح. تمنع هذه القاعدة الواضحة التباسًا شائعًا بمقدار وحدة واحدة: فالقص الذي عرضه 100 بكسل ويبدأ عند x بقيمة 0 يشغل امتدادًا كاملًا قدره 100 بكسل، ولذلك يلائم تمامًا صورة عرضها 100 بكسل. لا تقيد الأداة المربع غير الصالح ولا تحركه ولا تصغره، لأن تغيير الإحداثيات بصمت قد ينتج موضوعًا أو تكوينًا مختلفًا. كما أنها لا تفحص بيانات الصورة نفسها. يعتمد القرار فقط على الأبعاد والإحداثيات المقدمة، فيكون سريعًا وقابلًا للتكرار ومناسبًا للنماذج التفاعلية ومسارات العمل الآلية.

استخدموا النتيجة قبل تنفيذ القص

تعيد الاستجابة الناجحة عرض الجزء الناتج وارتفاعه. تطابق هاتان القيمتان المربع المطلوب لأن هذه الأداة تتحقق من الهندسة ولا تعيد أخذ العينات ولا تغير المستطيل. استخدموا الاستجابة كحاجز أمان قبل تمرير الإحداثيات نفسها إلى مكتبة صور أو خدمة وسائط أو مهمة تصيير في قائمة انتظار. وبذلك تفصلون التحقق قليل التكلفة عن فك ترميز الصورة الأعلى تكلفة، وتمنعون أخطاء الحدود المتوقعة من الوصول إلى العمليات اللاحقة. في محرر القص، نفذوا التحقق بعد تأكيد التحديد أو بعد تحويل إحداثيات المعاينة إلى بكسلات الصورة الأصلية. وفي مسار البيانات، افحصوا بيانات القص الوصفية فور وصولها ووجهوا السجلات غير الصالحة إلى التصحيح. انتبهوا إلى الاتجاه: إذا أدارت خطوة أخرى الصورة فعليًا، فاستخدموا الأبعاد بعد التدوير وإحداثيات معبرًا عنها بالاتجاه نفسه. تبلغ تكلفة طلب API مقدار $0.002؛ وينفذ مشغل المتصفح الحساب الحتمي نفسه محليًا. لا يرفع أي من المسارين صورة، لأن الإجابة تحتاج إلى الهندسة الرقمية وحدها.

حماية قائمة معالجة الصور

ارفضوا بيانات القص الخارجة عن الحدود قبل أن ينزل العامل الصورة المصدر ويفك ترميزها.

التحقق من تحديد محرر القص

تأكدوا من أن الإحداثيات المحولة من المعاينة ما زالت تلائم أبعاد الصورة الأصلية.

فحص بيانات الوسائط المستوردة

راجعوا المستطيلات المخزنة وحددوا السجلات التي لا يمكن تطبيقها على ملفاتها المرتبطة.

هل تقص هذه الأداة الصورة أو ترفعها؟

لا. إنها تتحقق من الأبعاد والإحداثيات الرقمية فقط، ثم تعيد الحجم الذي سينتج عن القص.

هل يجوز أن يلامس المربع الحافة اليمنى أو السفلية؟

نعم. يكون صالحًا إذا ساوى مجموع x وwidth قيمة image_width أو ساوى مجموع y وheight قيمة image_height.

هل تدعم الأداة الإحداثيات الكسرية؟

لا. يجب أن تكون جميع الأبعاد والإحداثيات أعدادًا صحيحة حتى تتوافق مع البكسلات.

هل تعدل الأداة المربع المتجاوز للحدود تلقائيًا؟

لا. يعيد الطلب خطأ إدخال غير صالح بدلًا من تغيير مربع القص المطلوب.

ما تكلفة طلب API؟

تبلغ تكلفة كل طلب API مقدار $0.002. ويتوفر التحقق الحتمي نفسه أيضًا في المتصفح.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/image/crop-to-box

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/image/crop-to-box \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image_width":1920,"image_height":1080,"x":240,"y":120,"width":800,"height":600}'
{
  "image_width": 1920,
  "image_height": 1080,
  "x": 240,
  "y": 120,
  "width": 800,
  "height": 600
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.crop_to_box",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_mb15
max_megapixels12
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←