Files
SnapOtter/apps/docs/ru/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

4.9 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Конвертация растровых изображений в SVG с чёрно-белой (potrace) и полноцветной многослойной векторизацией. f3e4777188ad human 89705cfd6d42

Изображение в SVG

Векторизуйте растровые изображения в SVG с помощью алгоритмов трассировки. Поддерживает чёрно-белую трассировку (potrace) и полноцветную многослойную векторизацию.

Конечная точка API

POST /api/v1/tools/image/vectorize

Параметры

Параметр Тип Обязательный По умолчанию Описание
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 Инвертировать изображение перед трассировкой (поменять чёрное/белое)

Пример запроса

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

Цветная векторизация

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

Пример ответа

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/logo.svg",
  "originalSize": 45678,
  "processedSize": 12345
}

Примечания

  • Вывод всегда представляет собой файл SVG независимо от формата ввода.
  • Поддерживает входные форматы HEIC, RAW, PSD и SVG (автоматически декодируются в растр перед трассировкой).
  • Ч/Б-режим использует алгоритм potrace. Изображение сначала преобразуется в оттенки серого, затем пороговое значение приводит его к чисто чёрному/белому перед трассировкой.
  • Цветной режим использует многослойный подход: изображение квантуется в цветовые слои, каждый из которых трассируется отдельно и накладывается стопкой в выводе SVG.
  • Более низкие значения filterSpeckle сохраняют больше деталей, но дают более крупные файлы SVG с большим количеством контуров.
  • Настройка pathMode значительно влияет на размер файла: none даёт больше всего контуров, spline даёт самый плавный (и обычно самый маленький) вывод.
  • Для наилучших результатов с логотипами и иконками используйте Ч/Б-режим с чистым высококонтрастным вводом. Для фотографий или иллюстраций используйте цветной режим с более высоким colorPrecision.