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.6 KiB
2.6 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Podziel jeden obraz na kafelki siatki według wierszy i kolumn lub według rozmiaru w pikselach, zwracane jako archiwum ZIP. | 838f5fa791b0 | human | fe0c6f88ea40 |
Podziel obraz
Podziel pojedynczy obraz na kafelki siatki według liczby kolumn/wierszy lub według konkretnych wymiarów w pikselach. Zwraca archiwum ZIP zawierające wszystkie kafelki.
Punkt końcowy API
POST /api/v1/tools/image/split
Parametry
| Parametr | Typ | Wymagany | Domyślny | Opis |
|---|---|---|---|---|
| columns | integer | Nie | 3 | Liczba kolumn do podziału (1 do 100) |
| rows | integer | Nie | 3 | Liczba wierszy do podziału (1 do 100) |
| tileWidth | integer | Nie | - | Szerokość kafelka w pikselach (min 10). Zastępuje columns, gdy ustawione są jednocześnie tileWidth i tileHeight. |
| tileHeight | integer | Nie | - | Wysokość kafelka w pikselach (min 10). Zastępuje rows, gdy ustawione są jednocześnie tileWidth i tileHeight. |
| outputFormat | string | Nie | "original" |
Format wyjściowy kafelków: original, png, jpg, webp, avif, jxl |
| quality | number | Nie | 90 | Jakość wyjściowa dla formatów stratnych (1 do 100) |
Przykładowe żądanie
curl -X POST http://localhost:1349/api/v1/tools/image/split \
-F "file=@large-image.png" \
-F 'settings={"columns":3,"rows":3,"outputFormat":"png"}' \
--output split-tiles.zip
Przykładowa odpowiedź
Odpowiedź jest przesyłana strumieniowo bezpośrednio jako plik ZIP z Content-Type: application/zip. Nazwa pliku ma format split-<jobId>.zip.
Każdy kafelek wewnątrz ZIP jest nazwany <originalBaseName>_r<row>_c<col>.<ext> (np. photo_r1_c1.png, photo_r2_c3.webp).
Uwagi
- Przyjmuje pojedynczy plik obrazu.
- Obsługuje formaty wejściowe HEIC, RAW, PSD i SVG (automatycznie dekodowane).
- Gdy podane są jednocześnie
tileWidthitileHeight, mają one priorytet nadcolumns/rows. Wymiary siatki są obliczane jakoceil(imageWidth / tileWidth)iceil(imageHeight / tileHeight). - Kafelki brzegowe (najbardziej wysunięta w prawo kolumna, dolny wiersz) mogą być mniejsze niż określony rozmiar kafelka, jeśli wymiary obrazu nie dzielą się równo.
- Maksymalny rozmiar siatki jest ograniczony do 100x100 (10 000 kafelków).
- Odpowiedź przesyła ZIP strumieniowo bezpośrednio, więc nie ma treści odpowiedzi JSON. Użyj
--outputz curl, aby zapisać plik.