Search K
تقسيم الصورة
قسّم صورة واحدة إلى بلاطات شبكية حسب عدد الأعمدة/الصفوف أو حسب أبعاد بكسل محددة. تُرجع أرشيف ZIP يحتوي على جميع البلاطات.
نقطة نهاية API
POST /api/v1/tools/image/split
المعاملات
| المعامل | النوع | مطلوب | الافتراضي | الوصف |
|---|---|---|---|---|
| columns | integer | لا | 3 | عدد الأعمدة المراد التقسيم إليها (1 إلى 100) |
| rows | integer | لا | 3 | عدد الصفوف المراد التقسيم إليها (1 إلى 100) |
| tileWidth | integer | لا | - | عرض البلاطة بالبكسل (10 كحد أدنى). يتجاوز columns عند ضبط كل من tileWidth وtileHeight. |
| tileHeight | integer | لا | - | ارتفاع البلاطة بالبكسل (10 كحد أدنى). يتجاوز rows عند ضبط كل من tileWidth وtileHeight. |
| outputFormat | string | لا | "original" | صيغة مخرجات البلاطات: original، png، jpg، webp، avif، jxl |
| quality | number | لا | 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 لحفظ الملف.
