Files
SnapOtter/apps/docs/pl/tools/image/resize.md
T
SnapOtterandGitHub f858c4cea0 feat: clearer, disambiguated tool names across all surfaces (#520)
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.
2026-07-15 21:55:51 +08:00

2.8 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Zmieniaj rozmiar obrazów w pikselach, procentowo lub z trybami dopasowania. 53866e8266b8 human d0de66d1ead7

Zmień rozmiar obrazu

Zmieniaj rozmiar obrazów, podając dokładne wymiary w pikselach, procentowy współczynnik skali lub tryb dopasowania kontrolujący, jak obraz dostosowuje się do wymiarów docelowych.

Punkt końcowy API

POST /api/v1/tools/image/resize

Przyjmuje dane formularza multipart z plikiem obrazu i polem JSON settings.

Parametry

Parametr Typ Wymagany Domyślnie Opis
width integer Nie - Docelowa szerokość w pikselach (maks. 16383)
height integer Nie - Docelowa wysokość w pikselach (maks. 16383)
fit string Nie "contain" Jak obraz dopasowuje się do wymiarów: contain, cover, fill, inside, outside
withoutEnlargement boolean Nie false Zapobiegaj powiększaniu, jeśli obraz jest mniejszy niż cel
percentage number Nie - Skaluj procentowo (np. 50 dla połowy rozmiaru)

Musi być podany przynajmniej jeden z: width, height lub percentage.

Tryby dopasowania

  • contain - Zmień rozmiar tak, aby zmieścić się w wymiarach, zachowując proporcje (może pozostawić puste miejsce)
  • cover - Zmień rozmiar tak, aby pokryć wymiary, zachowując proporcje (może kadrować)
  • fill - Rozciągnij dokładnie do wymiarów (ignoruje proporcje)
  • inside - Jak contain, ale tylko zmniejsza, nigdy nie powiększa
  • outside - Jak cover, ale tylko zmniejsza, nigdy nie powiększa

Przykładowe żądanie

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"}'

Zmiana rozmiaru procentowa:

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}'

Przykładowa odpowiedź

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
  "originalSize": 2450000,
  "processedSize": 980000
}

Uwagi

  • Maksymalny wymiar to 16383 piksele na każdej osi (limit Sharp/libvips).
  • Format wyjściowy odpowiada formatowi wejściowemu. Pliki wejściowe HEIC, RAW, PSD i SVG są automatycznie dekodowane przed przetwarzaniem.
  • Orientacja EXIF jest automatycznie stosowana przed zmianą rozmiaru.
  • Flaga withoutEnlargement jest przydatna przy przetwarzaniu wsadowym, gdzie niektóre obrazy mogą już być mniejsze niż cel.