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

59 lines
3.9 KiB
Markdown
Raw Normal View History

---
description: "Добавление рамок, отступов, скруглённых углов и падающих теней к изображениям в предсказуемом, управляемом порядке."
i18n_source_hash: 8845150736a9
i18n_provenance: human
i18n_output_hash: ddccf55b02e0
---
# Рамка и обрамление {#border-frame}
Добавляйте рамки, отступы, скруглённые углы и падающие тени к изображениям. Инструмент применяет эффекты в порядке: отступ, рамка, радиус углов, затем тень.
## Конечная точка API {#api-endpoint}
`POST /api/v1/tools/image/border`
## Параметры {#parameters}
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|-----------|------|----------|---------|-------------|
| borderWidth | number | Нет | 10 | Толщина рамки в пикселях (от 0 до 2000) |
| borderColor | string | Нет | `"#000000"` | Цвет рамки в hex (например, `#FF0000`) |
| padding | number | Нет | 0 | Внутренний отступ между изображением и рамкой в пикселях (от 0 до 200) |
| paddingColor | string | Нет | `"#FFFFFF"` | Цвет заливки отступа в hex |
| cornerRadius | number | Нет | 0 | Радиус углов в пикселях (от 0 до 2000) |
| shadow | boolean | Нет | `false` | Добавлять ли падающую тень |
| shadowBlur | number | Нет | 15 | Радиус размытия тени (от 1 до 200) |
| shadowOffsetX | number | Нет | 0 | Горизонтальное смещение тени (от -50 до 50) |
| shadowOffsetY | number | Нет | 5 | Вертикальное смещение тени (от -50 до 50) |
| shadowColor | string | Нет | `"#000000"` | Цвет тени в hex |
| shadowOpacity | number | Нет | 40 | Процент непрозрачности тени (от 0 до 100) |
## Пример запроса {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/border \
-F "file=@photo.jpg" \
-F 'settings={"borderWidth":20,"borderColor":"#333333","cornerRadius":16,"shadow":true,"shadowBlur":25,"shadowOpacity":50}'
```
## Пример ответа {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.png",
"originalSize": 456789,
"processedSize": 523456
}
```
## Примечания {#notes}
- Использует стандартную фабрику `createToolRoute`. Принимает один файл изображения через multipart-загрузку.
- Поддерживает входные форматы HEIC, RAW, PSD и SVG (автоматически декодируются).
- Порядок обработки: сначала добавляется отступ, затем оборачивается рамка, затем применяется радиус углов, затем накладывается тень.
- Когда включён `cornerRadius` или `shadow`, вывод принудительно устанавливается в PNG (независимо от формата ввода) для сохранения прозрачности. Форматы с поддержкой альфа-канала (PNG, WebP, AVIF) сохраняют свой исходный формат.
- Тень учитывает форму: она следует за скруглёнными углами, а не создаёт прямоугольную тень.
- Установка `borderWidth` в 0 и использование только `cornerRadius` + `shadow` создаёт эффект скруглённой тени без рамки.