Files
SnapOtter/apps/docs/uk/tools/image/vectorize.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

65 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: "Конвертація растрових зображень у SVG з чорно-білою (potrace) та повнокольоровою багатошаровою векторизацією."
i18n_source_hash: f3e4777188ad
i18n_provenance: human
i18n_output_hash: 2e26e5dc43e9
---
# Зображення у SVG {#image-to-svg}
Векторизуйте растрові зображення у SVG за допомогою алгоритмів трасування. Підтримує чорно-біле трасування (potrace) та повнокольорову багатошарову векторизацію.
## Кінцева точка API {#api-endpoint}
`POST /api/v1/tools/image/vectorize`
## Параметри {#parameters}
| Параметр | Тип | Обов’язковий | За замовчуванням | Опис |
|-----------|------|----------|---------|-------------|
| colorMode | string | Ні | `"bw"` | Режим трасування: `bw` (чорно-білий) або `color` (багатокольорові шари) |
| threshold | number | Ні | 128 | Поріг яскравості для Ч/Б режиму (від 0 до 255). Пікселі нижче стають чорними. |
| colorPrecision | number | Ні | 6 | Точність квантування кольору для кольорового режиму (від 1 до 16). Вищі значення дають більше окремих кольорових шарів. |
| layerDifference | number | Ні | 6 | Мінімальна різниця кольору між шарами в кольоровому режимі (від 1 до 128) |
| filterSpeckle | number | Ні | 4 | Мінімальна площа для трасованих фігур у пікселях (від 1 до 256). Видаляє шум/крапинки. |
| pathMode | string | Ні | `"spline"` | Згладжування контурів: `none` (зубчасті), `polygon` (прямі сегменти), `spline` (плавні криві) |
| cornerThreshold | number | Ні | 60 | Поріг кута для розпізнавання кутів у кольоровому режимі (від 0 до 180 градусів) |
| invert | boolean | Ні | `false` | Інвертувати зображення перед трасуванням (поміняти чорний/білий місцями) |
## Приклад запиту {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/vectorize \
-F "file=@logo.png" \
-F 'settings={"colorMode":"bw","threshold":128,"filterSpeckle":4,"pathMode":"spline"}'
```
### Кольорова векторизація {#color-vectorization}
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/vectorize \
-F "file=@illustration.png" \
-F 'settings={"colorMode":"color","colorPrecision":8,"layerDifference":6,"filterSpeckle":4}'
```
## Приклад відповіді {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/logo.svg",
"originalSize": 45678,
"processedSize": 12345
}
```
## Примітки {#notes}
- Вивід завжди є файлом SVG незалежно від формату вводу.
- Підтримує вхідні формати HEIC, RAW, PSD та SVG (автоматично декодуються в растр перед трасуванням).
- Ч/Б режим використовує алгоритм potrace. Зображення спочатку конвертується у відтінки сірого, потім порогується до чистого чорного/білого перед трасуванням.
- Кольоровий режим використовує багатошаровий підхід: зображення квантується на кольорові шари, кожен трасується окремо та накладається у виводі SVG.
- Нижчі значення `filterSpeckle` зберігають більше деталей, але дають більші файли SVG з більшою кількістю контурів.
- Налаштування `pathMode` суттєво впливає на розмір файлу: `none` дає найбільше контурів, `spline` дає найплавніший (і зазвичай найменший) вивід.
- Для найкращих результатів із логотипами та іконками використовуйте Ч/Б режим із чистим високо контрастним вводом. Для фотографій чи ілюстрацій використовуйте кольоровий режим із вищим `colorPrecision`.