Files
SnapOtter/apps/docs/ru/tools/image/stitch.md
T

64 lines
4.2 KiB
Markdown
Raw Normal View History

---
description: "Соединение изображений бок о бок, стопкой или в сетку с управлением выравниванием, промежутками, границами и режимом масштабирования."
i18n_source_hash: 39333210505a
i18n_provenance: human
i18n_output_hash: cd641f80bd64
---
# Сшивание / Объединение {#stitch-combine}
Соедините несколько изображений бок о бок, вертикально стопкой или в виде сетки. Поддерживает выравнивание, промежуток, границу, радиус скругления углов и несколько режимов масштабирования.
## Конечная точка API {#api-endpoint}
`POST /api/v1/tools/image/stitch`
## Параметры {#parameters}
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|-----------|------|----------|---------|-------------|
| direction | string | Нет | `"horizontal"` | Направление компоновки: `horizontal`, `vertical`, `grid` |
| gridColumns | integer | Нет | 2 | Количество столбцов, когда direction равно `grid` (от 2 до 100) |
| resizeMode | string | Нет | `"fit"` | Как масштабируются изображения: `fit`, `original`, `stretch`, `crop` |
| alignment | string | Нет | `"center"` | Выравнивание по поперечной оси: `start`, `center`, `end` |
| gap | number | Нет | 0 | Промежуток между изображениями в пикселях (от 0 до 1000) |
| border | number | Нет | 0 | Ширина внешней границы в пикселях (от 0 до 500) |
| cornerRadius | number | Нет | 0 | Радиус скругления углов, применяемый к итоговому выводу (от 0 до 500) |
| backgroundColor | string | Нет | `"#FFFFFF"` | Цвет фона/границы в шестнадцатеричном формате (например, `#FF0000`) |
| format | string | Нет | `"png"` | Формат вывода: `png`, `jpeg`, `webp`, `avif`, `jxl` |
| quality | number | Нет | 90 | Качество вывода (от 1 до 100) |
## Пример запроса {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/stitch \
-F "file=@image1.png" \
-F "file=@image2.png" \
-F "file=@image3.png" \
-F 'settings={"direction":"horizontal","resizeMode":"fit","gap":10,"backgroundColor":"#FFFFFF","format":"png"}'
```
## Пример ответа {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/stitch.png",
"originalSize": 1234567,
"processedSize": 987654
}
```
## Примечания {#notes}
- Требуется не менее 2 изображений. Загрузите несколько файлов изображений в multipart-запросе.
- Поддерживает входные форматы HEIC, RAW, PSD и SVG (автоматически декодируются).
- Режимы масштабирования:
- `fit` - Масштабирует изображения под наименьший размер вдоль оси соединения.
- `original` - Сохраняет исходные размеры (может дать неровные края).
- `stretch` - Принудительно приводит изображения к наименьшему размеру без сохранения соотношения сторон.
- `crop` - Обрезает изображения по методу cover под наименьший размер.
- В режиме `grid` ячейки задаются по медианным размерам всех изображений.
- `cornerRadius` применяется ко всему итоговому выводу, а не к отдельным изображениям.
- Размер холста ограничен конфигурацией сервера `MAX_CANVAS_PIXELS` для предотвращения исчерпания памяти.