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.
50 lines
2.5 KiB
Markdown
50 lines
2.5 KiB
Markdown
---
|
|
description: "Eén afbeelding opsplitsen in rastertegels op basis van rijen en kolommen of op pixelgrootte, geretourneerd als ZIP-archief."
|
|
i18n_source_hash: 838f5fa791b0
|
|
i18n_provenance: human
|
|
i18n_output_hash: b64e36398c5b
|
|
---
|
|
|
|
# Afbeelding splitsen {#image-splitting}
|
|
|
|
Splits één afbeelding op in rastertegels op basis van het aantal kolommen/rijen of specifieke pixelafmetingen. Retourneert een ZIP-archief met alle tegels.
|
|
|
|
## API Endpoint {#api-endpoint}
|
|
|
|
`POST /api/v1/tools/image/split`
|
|
|
|
## Parameters {#parameters}
|
|
|
|
| Parameter | Type | Vereist | Standaard | Beschrijving |
|
|
|-----------|------|----------|---------|-------------|
|
|
| columns | integer | Nee | 3 | Aantal kolommen om in op te splitsen (1 tot 100) |
|
|
| rows | integer | Nee | 3 | Aantal rijen om in op te splitsen (1 tot 100) |
|
|
| tileWidth | integer | Nee | - | Tegelbreedte in pixels (min. 10). Overschrijft `columns` wanneer zowel `tileWidth` als `tileHeight` zijn ingesteld. |
|
|
| tileHeight | integer | Nee | - | Tegelhoogte in pixels (min. 10). Overschrijft `rows` wanneer zowel `tileWidth` als `tileHeight` zijn ingesteld. |
|
|
| outputFormat | string | Nee | `"original"` | Uitvoerformaat voor tegels: `original`, `png`, `jpg`, `webp`, `avif`, `jxl` |
|
|
| quality | number | Nee | 90 | Uitvoerkwaliteit voor lossy formaten (1 tot 100) |
|
|
|
|
## Voorbeeldverzoek {#example-request}
|
|
|
|
```bash
|
|
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
|
|
```
|
|
|
|
## Voorbeeldrespons {#example-response}
|
|
|
|
De respons wordt rechtstreeks gestreamd als een ZIP-bestand met `Content-Type: application/zip`. De bestandsnaam volgt het patroon `split-<jobId>.zip`.
|
|
|
|
Elke tegel in de ZIP heet `<originalBaseName>_r<row>_c<col>.<ext>` (bijv. `photo_r1_c1.png`, `photo_r2_c3.webp`).
|
|
|
|
## Opmerkingen {#notes}
|
|
|
|
- Accepteert één afbeeldingsbestand.
|
|
- Ondersteunt HEIC-, RAW-, PSD- en SVG-invoerformaten (automatisch gedecodeerd).
|
|
- Wanneer zowel `tileWidth` als `tileHeight` zijn opgegeven, krijgen deze voorrang boven `columns`/`rows`. De rasterafmetingen worden berekend als `ceil(imageWidth / tileWidth)` en `ceil(imageHeight / tileHeight)`.
|
|
- Randtegels (meest rechtse kolom, onderste rij) kunnen kleiner zijn dan de opgegeven tegelgrootte als de afbeeldingsafmetingen niet gelijkmatig deelbaar zijn.
|
|
- De maximale rastergrootte is begrensd op 100x100 (10.000 tegels).
|
|
- De respons streamt de ZIP rechtstreeks, dus er is geen JSON-responsbody. Gebruik `--output` met curl om het bestand op te slaan.
|