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.2 KiB
3.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| หมุนรูปภาพในมุมใดก็ได้และพลิกในแนวนอนหรือแนวตั้ง | c4ed5f7e270b | human | 6b9c6e8bbef1 |
หมุนและพลิกภาพ
หมุนรูปภาพในมุมใดก็ได้ และ/หรือพลิกในแนวนอนหรือแนวตั้ง การหมุนและการพลิกสามารถทำร่วมกันในคำขอเดียวได้
API Endpoint
POST /api/v1/tools/image/rotate
รับ multipart form data พร้อมไฟล์รูปภาพและฟิลด์ JSON settings
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| angle | number | No | 0 |
มุมการหมุนเป็นองศา (ตามเข็มนาฬิกา) รับค่าตัวเลขใดก็ได้ |
| horizontal | boolean | No | false |
พลิกรูปภาพในแนวนอน (สะท้อนกระจก) |
| vertical | boolean | No | false |
พลิกรูปภาพในแนวตั้ง |
Example Request
หมุน 90 องศาตามเข็มนาฬิกา:
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}'
พลิกในแนวนอน:
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}'
หมุนและพลิกพร้อมกัน:
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
- การหมุนจะถูกใช้ก่อน แล้วจึงเป็นการพลิก
- การหมุนที่ไม่ใช่ 90 องศา (เช่น 45 องศา) จะขยายผืนภาพให้พอดีกับรูปภาพที่หมุนแล้ว โดยเติมด้วยความโปร่งใสหรือสีดำขึ้นอยู่กับรูปแบบเอาต์พุต
- ค่าที่ใช้บ่อย: 90, 180, 270 สำหรับการหมุนแบบเสี้ยวรอบ
- การวางแนวตาม EXIF จะถูกใช้โดยอัตโนมัติก่อนการประมวลผล ดังนั้นการหมุนจึงสัมพันธ์กับการวางแนวที่มองเห็น