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.9 KiB
2.9 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Verklein of vergroot afbeeldingen op pixels, percentage of met fit-modi. | 53866e8266b8 | human | ddca03289601 |
Afbeelding herschalen
Pas de grootte van afbeeldingen aan door exacte pixelafmetingen op te geven, een percentageschaalfactor of een fit-modus die bepaalt hoe de afbeelding zich aanpast aan de doelafmetingen.
API Endpoint
POST /api/v1/tools/image/resize
Accepteert multipart form data met een afbeeldingsbestand en een JSON settings-veld.
Parameters
| Parameter | Type | Vereist | Standaard | Beschrijving |
|---|---|---|---|---|
| width | integer | Nee | - | Doelbreedte in pixels (max. 16383) |
| height | integer | Nee | - | Doelhoogte in pixels (max. 16383) |
| fit | string | Nee | "contain" |
Hoe de afbeelding in de afmetingen past: contain, cover, fill, inside, outside |
| withoutEnlargement | boolean | Nee | false |
Opschalen voorkomen als de afbeelding kleiner is dan het doel |
| percentage | number | Nee | - | Schalen met een percentage (bijv. 50 voor de helft van de grootte) |
Ten minste een van width, height of percentage moet worden opgegeven.
Fit Modes
- contain - Pas de grootte aan zodat deze binnen de afmetingen past, met behoud van de beeldverhouding (kan lege ruimte overlaten)
- cover - Pas de grootte aan zodat de afmetingen worden gevuld, met behoud van de beeldverhouding (kan bijsnijden)
- fill - Uitrekken om exact overeen te komen met de afmetingen (negeert de beeldverhouding)
- inside - Zoals
contain, maar verkleint alleen, vergroot nooit - outside - Zoals
cover, maar verkleint alleen, vergroot nooit
Example Request
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"width": 800, "height": 600, "fit": "contain"}'
Grootte aanpassen met een percentage:
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"percentage": 50}'
Example Response
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 980000
}
Notes
- De maximale afmeting is 16383 pixels op beide assen (limiet van Sharp/libvips).
- Het uitvoerformaat komt overeen met het invoerformaat. HEIC-, RAW-, PSD- en SVG-invoer wordt automatisch gedecodeerd voordat deze wordt verwerkt.
- EXIF-oriëntatie wordt automatisch toegepast voordat de grootte wordt aangepast.
- De vlag
withoutEnlargementis handig voor batchverwerking waarbij sommige afbeeldingen mogelijk al kleiner zijn dan het doel.