Search K
Image Splitting
แบ่งภาพเดียวออกเป็นไทล์แบบตารางตามจำนวนคอลัมน์/แถว หรือตามขนาดพิกเซลที่กำหนด คืนค่าเป็นไฟล์ ZIP ที่มีไทล์ทั้งหมด
API Endpoint
POST /api/v1/tools/image/split
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| columns | integer | No | 3 | จำนวนคอลัมน์ที่จะแบ่ง (1 ถึง 100) |
| rows | integer | No | 3 | จำนวนแถวที่จะแบ่ง (1 ถึง 100) |
| tileWidth | integer | No | - | ความกว้างไทล์เป็นพิกเซล (ต่ำสุด 10) จะแทนที่ columns เมื่อกำหนดทั้ง tileWidth และ tileHeight |
| tileHeight | integer | No | - | ความสูงไทล์เป็นพิกเซล (ต่ำสุด 10) จะแทนที่ rows เมื่อกำหนดทั้ง tileWidth และ tileHeight |
| outputFormat | string | No | "original" | รูปแบบผลลัพธ์สำหรับไทล์: original, png, jpg, webp, avif, jxl |
| quality | number | No | 90 | คุณภาพผลลัพธ์สำหรับรูปแบบแบบสูญเสียข้อมูล (1 ถึง 100) |
Example Request
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.zipExample Response
การตอบกลับจะสตรีมออกมาโดยตรงเป็นไฟล์ ZIP พร้อม Content-Type: application/zip ชื่อไฟล์เป็นไปตามรูปแบบ split-<jobId>.zip
แต่ละไทล์ภายใน ZIP ตั้งชื่อเป็น <originalBaseName>_r<row>_c<col>.<ext> (เช่น photo_r1_c1.png, photo_r2_c3.webp)
Notes
- รับไฟล์ภาพเพียงไฟล์เดียว
- รองรับรูปแบบไฟล์นำเข้า HEIC, RAW, PSD และ SVG (ถอดรหัสอัตโนมัติ)
- เมื่อกำหนดทั้ง
tileWidthและtileHeightค่าเหล่านี้จะมีความสำคัญเหนือกว่าcolumns/rowsขนาดตารางจะคำนวณเป็นceil(imageWidth / tileWidth)และceil(imageHeight / tileHeight) - ไทล์ขอบ (คอลัมน์ขวาสุด แถวล่างสุด) อาจมีขนาดเล็กกว่าขนาดไทล์ที่ระบุ หากขนาดภาพหารไม่ลงตัว
- ขนาดตารางสูงสุดถูกจำกัดไว้ที่ 100x100 (10,000 ไทล์)
- การตอบกลับจะสตรีม ZIP ออกมาโดยตรง จึงไม่มี body การตอบกลับแบบ JSON ใช้
--outputกับ curl เพื่อบันทึกไฟล์
