Files
SnapOtter/apps/docs/vi/tools/image/rotate.md
T
SnapOtterandGitHub f858c4cea0 feat: clearer, disambiguated tool names across all surfaces (#520)
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.
2026-07-15 21:55:51 +08:00

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ị.