mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
3.1 KiB
3.1 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Thay đổi kích thước ảnh theo pixel, phần trăm hoặc với các chế độ vừa khít. | 53866e8266b8 | human | bcce4cd579a4 |
Thay đổi kích thước ảnh
Thay đổi kích thước ảnh bằng cách chỉ định kích thước pixel chính xác, hệ số tỷ lệ phần trăm, hoặc một chế độ vừa khít kiểm soát cách ảnh thích ứng với kích thước đích.
API Endpoint
POST /api/v1/tools/image/resize
Chấp nhận multipart form data với một tệp ảnh và một trường JSON settings.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| width | integer | No | - | Chiều rộng đích tính bằng pixel (tối đa 16383) |
| height | integer | No | - | Chiều cao đích tính bằng pixel (tối đa 16383) |
| fit | string | No | "contain" |
Cách ảnh vừa với kích thước: contain, cover, fill, inside, outside |
| withoutEnlargement | boolean | No | false |
Ngăn phóng to nếu ảnh nhỏ hơn đích |
| percentage | number | No | - | Tỷ lệ theo phần trăm (ví dụ 50 để bằng nửa kích thước) |
Phải cung cấp ít nhất một trong width, height, hoặc percentage.
Fit Modes
- contain - Thay đổi kích thước để vừa trong phạm vi kích thước, giữ tỷ lệ khung hình (có thể để lại khoảng trống)
- cover - Thay đổi kích thước để phủ kín kích thước, giữ tỷ lệ khung hình (có thể cắt)
- fill - Kéo giãn để khớp chính xác kích thước (bỏ qua tỷ lệ khung hình)
- inside - Giống
contain, nhưng chỉ thu nhỏ, không bao giờ phóng to - outside - Giống
cover, nhưng chỉ thu nhỏ, không bao giờ phóng to
Example Request
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"width": 800, "height": 600, "fit": "contain"}'
Thay đổi kích thước theo phần trăm:
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"percentage": 50}'
Example Response
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 980000
}
Notes
- Kích thước tối đa là 16383 pixel trên mỗi trục (giới hạn Sharp/libvips).
- Định dạng đầu ra khớp với định dạng đầu vào. Các đầu vào HEIC, RAW, PSD và SVG được tự động giải mã trước khi xử lý.
- Hướng EXIF được tự động áp dụng trước khi thay đổi kích thước.
- Cờ
withoutEnlargementhữu ích cho xử lý hàng loạt khi một số ảnh có thể đã nhỏ hơn đích.