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.
2.4 KiB
2.4 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Xoay ảnh theo bất kỳ góc nào và lật ngang hoặc dọc. | c4ed5f7e270b | human | 6da34b96b804 |
Xoay & Lật ảnh
Xoay ảnh theo một góc bất kỳ và/hoặc lật chúng theo chiều ngang hoặc dọc. Các thao tác xoay và lật có thể kết hợp trong một yêu cầu duy nhất.
API Endpoint
POST /api/v1/tools/image/rotate
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 |
|---|---|---|---|---|
| angle | number | No | 0 |
Góc xoay tính bằng độ (theo chiều kim đồng hồ). Chấp nhận bất kỳ giá trị số nào. |
| horizontal | boolean | No | false |
Lật ảnh theo chiều ngang (đối xứng gương) |
| vertical | boolean | No | false |
Lật ảnh theo chiều dọc |
Example Request
Xoay 90 độ theo chiều kim đồng hồ:
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"angle": 90}'
Lật theo chiều ngang:
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"horizontal": true}'
Xoay và lật cùng lúc:
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"angle": 45, "vertical": true}'
Example Response
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 2480000
}
Notes
- Xoay được áp dụng trước, rồi đến các thao tác lật.
- Các góc xoay không phải 90 độ (ví dụ 45 độ) sẽ mở rộng khung để vừa với ảnh đã xoay, với phần tô trong suốt hoặc đen tùy theo định dạng đầu ra.
- Các giá trị thường dùng: 90, 180, 270 cho các phép xoay một phần tư.
- Hướng EXIF được tự động áp dụng trước khi xử lý, nên phép xoay là tương đối với hướng hiển thị.