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.2 KiB
2.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Kadruj obrazy, określając obszar za pomocą pozycji i wymiarów. | 556f37893553 | human | ac8f21ea2c80 |
Kadruj obraz
Kadruj obrazy, definiując prostokątny obszar za pomocą pozycji i rozmiaru. Obsługuje zarówno jednostki pikselowe, jak i procentowe.
Punkt końcowy API
POST /api/v1/tools/image/crop
Przyjmuje dane formularza multipart z plikiem obrazu oraz polem JSON settings.
Parametry
| Parametr | Typ | Wymagany | Domyślnie | Opis |
|---|---|---|---|---|
| left | number | Tak | - | Przesunięcie X obszaru kadrowania (od lewej krawędzi) |
| top | number | Tak | - | Przesunięcie Y obszaru kadrowania (od górnej krawędzi) |
| width | number | Tak | - | Szerokość obszaru kadrowania |
| height | number | Tak | - | Wysokość obszaru kadrowania |
| unit | string | Nie | "px" |
Jednostka wartości: px lub percent |
Przykładowe żądanie
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 100, "top": 50, "width": 800, "height": 600}'
Kadrowanie z użyciem wartości procentowych:
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 10, "top": 10, "width": 80, "height": 80, "unit": "percent"}'
Przykładowa odpowiedź
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 1200000
}
Uwagi
- Obszar kadrowania musi mieścić się w granicach obrazu. Jeśli obszar wykracza poza obraz, żądanie zakończy się niepowodzeniem.
- Przy użyciu jednostki
percentwartości oznaczają procent wymiarów obrazu (np.left: 10oznacza 10% od lewej krawędzi). - Format wyjściowy odpowiada formatowi wejściowemu.
- Orientacja EXIF jest automatycznie stosowana przed kadrowaniem, więc współrzędne odpowiadają wizualnie poprawnej orientacji.