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

3.6 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Chuyển ảnh raster sang SVG với vector hóa đen trắng (potrace) và nhiều lớp toàn màu. f3e4777188ad human 240b5aa339e9

Ảnh sang SVG

Vector hóa ảnh raster thành SVG bằng các thuật toán tracing. Hỗ trợ tracing đen trắng (potrace) và vector hóa nhiều lớp toàn màu.

API Endpoint

POST /api/v1/tools/image/vectorize

Tham số

Tham số Kiểu Bắt buộc Mặc định Mô tả
colorMode string Không "bw" Chế độ tracing: bw (đen trắng) hoặc color (nhiều lớp màu)
threshold number Không 128 Ngưỡng độ sáng cho chế độ B&W (0 đến 255). Các pixel bên dưới ngưỡng trở thành đen.
colorPrecision number Không 6 Độ chính xác lượng tử hóa màu cho chế độ màu (1 đến 16). Giá trị cao hơn tạo ra nhiều lớp màu riêng biệt hơn.
layerDifference number Không 6 Chênh lệch màu tối thiểu giữa các lớp trong chế độ màu (1 đến 128)
filterSpeckle number Không 4 Diện tích tối thiểu cho các hình được trace tính bằng pixel (1 đến 256). Xóa nhiễu/đốm.
pathMode string Không "spline" Làm mượt đường: none (răng cưa), polygon (đoạn thẳng), spline (đường cong mượt)
cornerThreshold number Không 60 Ngưỡng góc để phát hiện góc trong chế độ màu (0 đến 180 độ)
invert boolean Không false Đảo ngược ảnh trước khi trace (hoán đổi đen/trắng)

Ví dụ Request

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

Vector hóa màu

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

Ví dụ Response

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

Ghi chú

  • Đầu ra luôn là tệp SVG bất kể định dạng đầu vào.
  • Hỗ trợ các định dạng đầu vào HEIC, RAW, PSD, và SVG (tự động giải mã sang raster trước khi trace).
  • Chế độ B&W dùng thuật toán potrace. Ảnh được chuyển sang grayscale trước, sau đó áp ngưỡng thành đen/trắng thuần trước khi trace.
  • Chế độ màu dùng cách tiếp cận nhiều lớp: ảnh được lượng tử hóa thành các lớp màu, mỗi lớp được trace riêng và xếp chồng trong đầu ra SVG.
  • Giá trị filterSpeckle thấp hơn giữ lại nhiều chi tiết hơn nhưng tạo ra tệp SVG lớn hơn với nhiều path hơn.
  • Thiết lập pathMode ảnh hưởng đáng kể đến kích thước tệp: none tạo ra nhiều path nhất, spline tạo ra đầu ra mượt nhất (và thường nhỏ nhất).
  • Để có kết quả tốt nhất với logo và biểu tượng, dùng chế độ B&W với đầu vào tương phản cao rõ ràng. Đối với ảnh chụp hoặc minh họa, dùng chế độ màu với colorPrecision cao hơn.