This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

تقسيم الصورة

قسّم صورة واحدة إلى بلاطات شبكية حسب عدد الأعمدة/الصفوف أو حسب أبعاد بكسل محددة. تُرجع أرشيف ZIP يحتوي على جميع البلاطات.

نقطة نهاية API

POST /api/v1/tools/image/split

المعاملات

المعاملالنوعمطلوبالافتراضيالوصف
columnsintegerلا3عدد الأعمدة المراد التقسيم إليها (1 إلى 100)
rowsintegerلا3عدد الصفوف المراد التقسيم إليها (1 إلى 100)
tileWidthintegerلا-عرض البلاطة بالبكسل (10 كحد أدنى). يتجاوز columns عند ضبط كل من tileWidth وtileHeight.
tileHeightintegerلا-ارتفاع البلاطة بالبكسل (10 كحد أدنى). يتجاوز rows عند ضبط كل من tileWidth وtileHeight.
outputFormatstringلا"original"صيغة مخرجات البلاطات: original، png، jpg، webp، avif، jxl
qualitynumberلا90جودة المخرجات للصيغ ذات الفقد (1 إلى 100)

مثال طلب

bash
curl -X POST http://localhost:1349/api/v1/tools/image/split \
  -F "[email protected]" \
  -F 'settings={"columns":3,"rows":3,"outputFormat":"png"}' \
  --output split-tiles.zip

مثال استجابة

تُبثّ الاستجابة مباشرة كملف ZIP مع Content-Type: application/zip. يتبع اسم الملف النمط split-<jobId>.zip.

كل بلاطة داخل الـ ZIP تُسمى <originalBaseName>_r<row>_c<col>.<ext> (مثل photo_r1_c1.png، photo_r2_c3.webp).

ملاحظات

  • تقبل ملف صورة واحدًا.
  • تدعم صيغ المدخلات HEIC وRAW وPSD وSVG (تُفكّ ترميزاتها تلقائيًا).
  • عند توفير كل من tileWidth وtileHeight، فإنهما يأخذان الأولوية على columns/rows. تُحسب أبعاد الشبكة كـ ceil(imageWidth / tileWidth) وceil(imageHeight / tileHeight).
  • قد تكون بلاطات الحواف (العمود الأيمن، الصف السفلي) أصغر من حجم البلاطة المحدد إذا لم تكن أبعاد الصورة قابلة للقسمة بالتساوي.
  • الحد الأقصى لحجم الشبكة مقيّد بـ 100x100 (10,000 بلاطة).
  • تبثّ الاستجابة ملف الـ ZIP مباشرة، لذا لا يوجد جسم استجابة بصيغة JSON. استخدم --output مع curl لحفظ الملف.