--- description: "Изменение размера изображений по пикселям, процентам или с режимами вписывания." i18n_source_hash: 53866e8266b8 i18n_provenance: human i18n_output_hash: dac4c31fbce7 --- # Изменение размера изображения {#resize} Изменение размера изображений путём указания точных пиксельных размеров, процентного коэффициента масштабирования или режима вписывания, который управляет тем, как изображение адаптируется к целевым размерам. ## Эндпоинт API {#api-endpoint} `POST /api/v1/tools/image/resize` Принимает multipart form data с файлом изображения и JSON-полем `settings`. ## Параметры {#parameters} | Параметр | Тип | Обязательный | По умолчанию | Описание | |-----------|------|----------|---------|-------------| | width | integer | Нет | - | Целевая ширина в пикселях (максимум 16383) | | height | integer | Нет | - | Целевая высота в пикселях (максимум 16383) | | fit | string | Нет | `"contain"` | Как изображение вписывается в размеры: `contain`, `cover`, `fill`, `inside`, `outside` | | withoutEnlargement | boolean | Нет | `false` | Не увеличивать масштаб, если изображение меньше целевого | | percentage | number | Нет | - | Масштабирование в процентах (например, 50 для половинного размера) | Должен быть указан хотя бы один из `width`, `height` или `percentage`. ### Режимы вписывания {#fit-modes} - **contain** - изменить размер так, чтобы вписаться в размеры, сохраняя соотношение сторон (может оставить пустое пространство) - **cover** - изменить размер так, чтобы покрыть размеры, сохраняя соотношение сторон (может обрезать) - **fill** - растянуть точно под размеры (игнорирует соотношение сторон) - **inside** - как `contain`, но только уменьшает, никогда не увеличивает - **outside** - как `cover`, но только уменьшает, никогда не увеличивает ## Пример запроса {#example-request} ```bash 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"}' ``` Изменение размера в процентах: ```bash 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} ```json { "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg", "originalSize": 2450000, "processedSize": 980000 } ``` ## Примечания {#notes} - Максимальный размер — 16383 пикселя по любой оси (ограничение Sharp/libvips). - Выходной формат совпадает с входным. Входные данные в форматах HEIC, RAW, PSD и SVG автоматически декодируются перед обработкой. - Ориентация по EXIF применяется автоматически перед изменением размера. - Флаг `withoutEnlargement` полезен для пакетной обработки, когда некоторые изображения могут уже быть меньше целевого.