mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
3.2 KiB
3.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Ghép ảnh cạnh nhau, xếp chồng, hoặc theo lưới với kiểm soát căn chỉnh, khoảng cách, viền, và chế độ đổi kích thước. | 39333210505a | human | 43e42bf99bdb |
Ghép / Kết hợp
Ghép nhiều ảnh cạnh nhau, xếp chồng theo chiều dọc, hoặc sắp xếp theo lưới. Hỗ trợ căn chỉnh, khoảng cách, viền, bo góc, và nhiều chế độ đổi kích thước.
API Endpoint
POST /api/v1/tools/image/stitch
Tham số
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
| direction | string | Không | "horizontal" |
Hướng bố cục: horizontal, vertical, grid |
| gridColumns | integer | Không | 2 | Số cột khi direction là grid (2 đến 100) |
| resizeMode | string | Không | "fit" |
Cách đổi kích thước ảnh: fit, original, stretch, crop |
| alignment | string | Không | "center" |
Căn chỉnh theo trục chéo: start, center, end |
| gap | number | Không | 0 | Khoảng cách giữa các ảnh tính bằng pixel (0 đến 1000) |
| border | number | Không | 0 | Độ rộng viền ngoài tính bằng pixel (0 đến 500) |
| cornerRadius | number | Không | 0 | Bán kính bo góc áp dụng cho đầu ra cuối (0 đến 500) |
| backgroundColor | string | Không | "#FFFFFF" |
Màu nền/viền dạng hex (ví dụ #FF0000) |
| format | string | Không | "png" |
Định dạng đầu ra: png, jpeg, webp, avif, jxl |
| quality | number | Không | 90 | Chất lượng đầu ra (1 đến 100) |
Ví dụ Request
curl -X POST http://localhost:1349/api/v1/tools/image/stitch \
-F "file=@image1.png" \
-F "file=@image2.png" \
-F "file=@image3.png" \
-F 'settings={"direction":"horizontal","resizeMode":"fit","gap":10,"backgroundColor":"#FFFFFF","format":"png"}'
Ví dụ Response
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/stitch.png",
"originalSize": 1234567,
"processedSize": 987654
}
Ghi chú
- Yêu cầu ít nhất 2 ảnh. Tải lên nhiều tệp ảnh trong request multipart.
- Hỗ trợ các định dạng đầu vào HEIC, RAW, PSD, và SVG (tự động giải mã).
- Các chế độ đổi kích thước:
fit- Chia tỷ lệ ảnh để khớp với kích thước nhỏ nhất dọc theo trục ghép.original- Giữ nguyên kích thước gốc (có thể tạo ra cạnh không đều).stretch- Buộc ảnh khớp với kích thước nhỏ nhất mà không giữ tỷ lệ khung hình.crop- Cắt kiểu cover để ảnh khớp với kích thước nhỏ nhất.
- Ở chế độ
grid, các ô được đặt kích thước theo kích thước trung vị của tất cả ảnh. cornerRadiusđược áp dụng cho toàn bộ đầu ra cuối cùng, không phải từng ảnh riêng lẻ.- Kích thước canvas bị giới hạn bởi cấu hình máy chủ
MAX_CANVAS_PIXELSđể ngăn cạn kiệt bộ nhớ.