Cách chuyển đổi hàng loạt PNG sang SVG (So sánh 5 phương pháp)

Năm cách đã được kiểm chứng để chuyển đổi nhiều tệp PNG sang SVG cùng một lúc - công cụ trực tuyến, thư mục nóng (hot folder), ứng dụng dành cho máy tính để bàn miễn phí, tập lệnh và API - so sánh về chi phí, thông lượng, hỗ trợ màu sắc và quyền riêng tư.

PNG × 10 PNG × 10.000 SVG
✓ So sánh 5 phương pháp 10 tệp hoặc 10.000 tệp Bao gồm các tùy chọn miễn phí Đồ lại thực sự, không nhúng
Chuyển đổi một tệp miễn phí ngay →

Vấn đề khi chuyển đổi hàng loạt - và cái bẫy cần tránh

Bạn có mười tệp PNG. Hoặc bốn trăm. Hoặc - giống như nhà thiết kế với câu hỏi về 51.000 tệp đã mở ra một trong những chủ đề dài nhất trên diễn đàn cộng đồng của Adobe - toàn bộ thư viện nội dung cần phải trở thành vector. Chuyển đổi một hình ảnh bằng tay thì ổn; nhưng vượt qua con số đó, bạn cần một quy trình làm việc hàng loạt: một quy trình biến toàn bộ một thư mục ảnh raster thành một thư mục SVG. Và nếu hôm nay thực sự chỉ có một tệp quan trọng, công cụ chuyển đổi PNG sang SVG trực tuyến miễn phísẽ hoàn thành công việc trong chưa đầy một phút - hướng dẫn này đề cập đến mọi thứ vượt xa hơn thế.

Một định nghĩa trước khi so sánh các phương pháp. Chuyển đổi hàng loạt thực sự có nghĩa là mọi PNG đều được vector hóa: các hình dạng của nó được vẽ lại dưới dạng các đường dẫn toán học, đó là những gì vector hóa thực sự làm. Rất nhiều công cụ bỏ qua hoàn toàn bước đó và nó thay đổi mọi thứ về kết quả đầu ra.

Lỗi phổ biến nhất: một số "trình chuyển đổi SVG" không đồ lại (trace) bất kỳ thứ gì - chúng bọc tệp PNG của bạn bên trong một tệp .svg dưới dạng một hình ảnh được nhúng. Kết quả có tỷ lệ thu phóng "hoàn hảo" vì nó vẫn là một bitmap được ngụy trang. Mở bất kỳ tệp đầu ra nào trong trình chỉnh sửa văn bản: một thẻ <image> base64 khổng lồ thay vì các phần tử <path> có nghĩa là bạn chưa vector hóa bất kỳ thứ gì. Mỗi phương pháp dưới đây được đánh giá dựa trên khả năng đồ lại (tracing) thực sự.

Kết quả thực tế từ công cụ chuyển đổi

Trước · bản gốc 5 KB
Tệp PNG: logo tròn màu xanh navy với hình chữ V màu trắng
Sau · SVG Cài sẵn Trắng & Đen · 2 KB
Cùng logo đó được chuyển sang SVG với cài sẵn Trắng và Đen: đường cong mượt, tô màu đen
Một lượt chuyển đổi thực tế bằng công cụ này: tệp PNG gốc bên trái đã được vẽ vector với cài sẵn Trắng & Đen thành tệp SVG bên phải — một tệp vector sắc nét ở mọi mức thu phóng.
Cùng logo đó phóng to 400%: bên trái, các điểm ảnh của PNG hiện rõ; bên phải, đường cong của SVG vẫn hoàn toàn mượt mà.
Cùng logo đó phóng to 400%: bên trái, các điểm ảnh của PNG hiện rõ; bên phải, đường cong của SVG vẫn hoàn toàn mượt mà.

Phương pháp 1: Trình chuyển đổi hàng loạt trực tuyến

Tuyến đường nhanh nhất cho một đợt nhỏ. Có một số công cụ trực tuyến chấp nhận nhiều tệp cùng một lúc: to.imagestool.com cho phép bạn kéo và thả một tập hợp ảnh PNG và xử lý chúng cục bộ trong trình duyệt; Pixelied nhận số lượng tải lên lớn và gửi cho bạn một tệp ZIP chứa các kết quả; bản dùng thử web của ImageResizer.com và reaConverter hoạt động theo cùng một cách. Không cần cài đặt, không cần dòng lệnh - chỉ cần thả tệp, tải xuống kết quả.

Hai điều cần kiểm tra trước khi bạn tin tưởng giao việc cho chúng. Đầu tiên, hãy đảm bảo rằng công cụ đó thực sự đồ lại: một số trang web "hàng loạt" chỉ lặp lại các chuyển đổi tệp đơn lẻ trên máy chủ và trả về một tệp ZIP gồm các SVG giả mạo - chính là bẫy nhúng từ cảnh báo ở trên. Thứ hai, hãy đọc các điều khoản bảo mật nếu tác phẩm nghệ thuật mang tính thương mại hoặc theo thỏa thuận NDA: các công cụ dựa trên trình duyệt không bao giờ tải tệp của bạn lên, còn các công cụ dựa trên máy chủ gửi mọi hình ảnh đến máy của người khác. Vì sự minh bạch: trình chuyển đổi trực tuyến miễn phí của riêng PixelToPath cố tình chỉ dùng cho từng tệp một. Đó là công cụ phù hợp cho một logo quan trọng, chứ không phải cho một thư mục chứa bốn trăm ảnh - và nó nằm trong sự so sánh này chính xác với tư cách đó.

Phương pháp 2: Ứng dụng Desktop với thư mục nóng (PixelToPath Pro)

Nếu việc xử lý hàng loạt diễn ra hàng tuần chứ không phải một lần, thì một thư mục nóng (hot folder) sẽ loại bỏ hoàn toàn bước thủ công. PixelToPath Pro (Windows và Linux) giám sát một thư mục và tự động chuyển đổi mọi hình ảnh được đưa vào đó. Toàn bộ quy trình gồm bốn bước:

  1. Chọn thư mục của bạn: chọn thư mục cần giám sát và thư mục đầu ra nơi các SVG sẽ được lưu.
  2. Thả ảnh PNG của bạn: lưu, sao chép hoặc kéo toàn bộ đợt vào thư mục đầu vào - mười tệp hoặc vài trăm tệp.
  3. Hãy để nó hoạt động: mỗi tệp sẽ được đồ lại ngay khi đến với hồ sơ cài đặt bạn đã lưu, hoàn toàn trên máy tính của bạn.
  4. Thu thập các SVG: kết quả xuất hiện trong thư mục đầu ra, được đặt tên theo tên các tệp gốc.

Phần quan trọng đối với các đợt hàng loạt: một hồ sơ cài đặt áp dụng cho toàn bộ hàng đợi. Nếu bạn chuyển đổi bốn trăm biểu tượng bằng tay, thì tệp thứ 300 sẽ không bao giờ khớp hoàn toàn với tệp thứ 12; với một hồ sơ cài đặt, mọi kết quả đầu ra đều nhất quán - chi tiết có thể phá vỡ các quy trình làm việc thủ công. Mọi thứ chạy cục bộ, vì vậy không có giới hạn tải lên và không có tệp nào bị rò rỉ khỏi máy tính của bạn. Pro có giá một lần €39 (chưa VAT), bản quyền trọn đời cho một người dùng trên tối đa 3 máy; trang chuyển đổi hàng loạt với thư mục nóng chia nhỏ mọi thứ được bao gồm. Đây là một trong năm tùy chọn ở đây - nhưng là tùy chọn duy nhất được xây dựng để làm cho chuyển đổi hàng loạt trở thành một bước mà bạn không cần phải bận tâm đến nữa.

Phương pháp 3: Ứng dụng Desktop miễn phí và Inkscape

Bạn đã sử dụng ứng dụng dành cho máy tính để bàn miễn phí chưa? Nó chuyển đổi PNG, JPG, BMP và WebP sang SVG ngoại tuyến, không giới hạn số lượng tệp và có quyền truy cập đầy đủ vào các cài đặt tracing nâng cao - nhưng chỉ từng tệp một. Xử lý hàng loạt chính là điều mà bản nâng cấp Pro bổ sung, và điều đó đáng để nói thẳng ra chứ không phải giả vờ ngược lại. Nếu bạn muốn miễn phí, cục bộ và dựa trên GUI (giao diện đồ họa), trình chuyển đổi desktop miễn phí là sự lựa chọn trung thực cho các tệp đơn lẻ: thông lượng thực tế là hàng chục tệp mỗi ngày, không phải hàng trăm.

Inkscape là một cỗ máy miễn phí khác. Hộp thoại Trace Bitmap của nó cũng dành cho một hình ảnh duy nhất, và mặc dù Inkscape cung cấp các tùy chọn dòng lệnh có thể được lập trình thành một vòng lặp, trải nghiệm đó khá thô và hầu như không có tài liệu hướng dẫn. Nhân tiện, GIMP không có tính năng xuất vector hàng loạt gốc nào cả - các chủ đề trên diễn đàn của nó thường xuyên xác nhận điều đó. Trước khi bỏ ra hàng giờ đồng hồ cho quy trình làm việc với giao diện đồ họa (GUI), hãy kiểm tra xem bạn có thực sự cần các vector cho mỗi tệp hay không: bài viết so sánh SVG và PNG dành cho web sẽ giải đáp khi nào việc chuyển đổi là đáng giá.

Phương pháp 4: Tập lệnh Dòng lệnh (ImageMagick, Potrace, VTracer)

Đối với các công việc số lượng lớn diễn ra một lần, một tập lệnh shell mười dòng sẽ đánh bại mọi giao diện GUI. Đường ống dẫn đen trắng cổ điển kết nối ImageMagick vào Potrace - chuyển đổi, sau đó đồ lại: magick input.png input.pbm && potrace -s -o input.svg input.pbm

Đặt dòng lệnh đó vào một vòng lặp "for" quét qua thư mục của bạn và Potrace sẽ xuất ra các đường dẫn vector thực sự với tốc độ của CPU - nhưng hoàn toàn là đen trắng. Đối với màu sắc, hãy trỏ vòng lặp đó vào vtracer, trình theo dõi (tracer) mã nguồn mở bằng ngôn ngữ Rust cũng được sử dụng trong PixelToPath. Cả hai công cụ đều có đủ các tùy chọn (flags) để lấp đầy một cuốn sổ tay, đó là lý do tại sao mỗi công cụ đều có một hướng dẫn dành riêng (sẽ được liên kết tại đây sau khi xuất bản). Các tập lệnh chiến thắng về chi phí (miễn phí), quyền riêng tư (cục bộ) và số lượng (hàng nghìn cho mỗi lần chạy); chúng thua ở phần chuẩn bị - bạn đang duy trì một quy trình hệ thống, và sẽ không ai hoàn trả lại cho bạn thời gian của cái buổi chiều mà hệ thống bị lỗi.

Phương pháp 5: Vòng lặp API cho quy trình CI và công việc Phía Máy chủ

Khi các chuyển đổi phải diễn ra trên máy chủ - trong quá trình triển khai, bên trong quy trình bản dựng (build pipeline), từ phần phụ trợ (backend) - thì các công cụ cục bộ không còn là một lựa chọn. Mô hình này là một vòng lặp: một lệnh POST không trạng thái cho mỗi hình ảnh với khóa Bearer của bạn, mỗi SVG được ghi thẳng vào quy trình tài sản của bạn. Giới hạn là 60 yêu cầu mỗi phút cho mỗi khóa, vì vậy hãy điều chỉnh tốc độ vòng lặp và thử lại các cuộc gọi bị giới hạn tốc độ với mức độ lùi theo cấp số nhân (exponential backoff); các cuộc gọi thất bại không bao giờ tiêu tốn credit. Bạn có thể tự động hóa toàn bộ công việc hàng loạt với API REST mà không cần bất kỳ cài đặt cục bộ nào - đó chính xác là điểm quan trọng.

Chi phí có thể dự đoán được: với hình ảnh trả trước thì mức giá dao động từ €0.05 xuống €0.01 cho mỗi hình ảnh đối với số lượng lớn, như vậy 500 hình ảnh tốn khoảng €20 và 10.000 hình ảnh tốn khoảng €200 - và mỗi tài khoản sẽ có thêm 10 lần chuyển đổi miễn phí, mỗi tháng. Chọn API khi các chuyển đổi phải có khả năng tái tạo, ở phía máy chủ và không phụ thuộc vào thiết lập cục bộ. Chọn thư mục nóng (hot folder) khi các chuyển đổi diễn ra cục bộ và có tính tương tác. Hai phương pháp này đáp ứng gần như mọi công việc hàng loạt trong thế giới thực.

Hàng loạt PNG sang SVG: So sánh cả năm phương pháp

Cùng một đầu vào, năm phương pháp xử lý rất khác nhau. Chi phí và quyền riêng tư là những yếu tố cấu trúc chứ không phải chiêu trò quảng cáo; thông lượng giả định một người vận hành (hoặc một máy chủ khiêm tốn) trên phần cứng thực tế; và "màu sắc" có nghĩa là đầu ra vector nhiều màu sắc thực sự, chứ không phải hình bóng đen trắng.

Phương pháp Chi phí Tệp/ngày (thực tế) Màu sắc Kiểm soát chất lượng Quyền riêng tư Kỹ năng cần thiết
Công cụ trực tuyến Miễn phí 50-500 (thủ công) Tùy thuộc vào công cụ Chỉ các mẫu (preset) Khác nhau - kiểm tra điều khoản Không
Thư mục nóng Pro €39 thanh toán một lần Hàng nghìn (CPU cục bộ) Một hồ sơ, tất cả cài đặt 100% cục bộ Không
Desktop miễn phí / Inkscape Miễn phí 20-100 (từng tệp một) Có (tệp đơn lẻ) Đầy đủ, cho mỗi tệp 100% cục bộ Cơ bản
Tập lệnh (CLI) Miễn phí Hàng nghìn+ (CPU cục bộ) Potrace Không - VTracer Có Đầy đủ (các lệnh flags) Cục bộ Dòng lệnh
Vòng lặp API 10 miễn phí/tháng, sau đó €0.01-0.05/hình Hàng chục nghìn (60 y.cầu/phút) Tham số động cơ (engine) cho mỗi cuộc gọi Tệp được tải lên Nhà phát triển (Developer)

Nếu bạn chuyển đổi hàng loạt thường xuyên hơn một lần một tháng, thì Phương pháp 2 và 5 sẽ tự hòa vốn ngay trong buổi chiều đầu tiên. Đối với những thứ nhỏ hơn thế, Phương pháp 1 hoặc 3 không tốn chi phí gì ngoài một chút thời gian của bạn.

Hướng dẫn Chuyển đổi Liên quan

Chuyển đổi hàng loạt là bước một. Các bài viết này trình bày phần còn lại.

Câu hỏi thường gặp (FAQ)

Tôi có thể chuyển đổi hàng loạt PNG sang SVG miễn phí không?

Có, theo hai cách. Các tập lệnh dòng lệnh (Potrace, ImageMagick, VTracer) là miễn phí và không có giới hạn tệp; và ứng dụng máy tính để bàn miễn phí cộng với Inkscape là miễn phí nhưng chỉ chuyển đổi từng tệp một. Các công cụ trực tuyến chấp nhận nhiều tệp miễn phí cũng tồn tại - chỉ cần xác minh xem chúng có thực sự vector hóa và đọc điều khoản quyền riêng tư của chúng trước khi gửi các tác phẩm nghệ thuật thương mại.

Làm thế nào để giữ được màu sắc khi chuyển đổi hàng loạt?

Hãy sử dụng một công cụ theo dõi (tracer) có hỗ trợ màu. Potrace hoàn toàn là đen trắng bất kể bạn viết lệnh (script) thế nào; VTracer, PixelToPath Pro và PixelToPath API đều chạy một công cụ màu sắc (color engine) nhằm tái tạo lại từng vùng màu dưới dạng một hình dạng vector riêng của nó. Lập trình kịch bản vòng lặp với vtracer, hoặc sử dụng Pro hoặc API nếu bạn không muốn tự bảo trì quá trình này.

Tôi có thể tải lên một tệp ZIP chứa nhiều PNG và nhận lại một tệp ZIP chứa SVG không?

Một số công cụ trực tuyến (ví dụ: Pixelied) chấp nhận số lượng tải lên lớn và trả về một tệp ZIP. Chế độ xử lý hàng loạt trên máy tính để bàn và tập lệnh ghi kết quả vào một thư mục đầu ra mà bạn có thể nén (zip) trong một bước. API trả về một SVG cho mỗi cuộc gọi, vì vậy việc lưu trữ sẽ nằm ở phía bạn - vốn là điều mà quy trình biên dịch (build pipeline) thường mong muốn.

Tại sao loạt tệp tôi chuyển đổi lại ra các hình chữ nhật màu đen?

Đó chính là bẫy nhúng: công cụ đã bọc mỗi ảnh PNG bên trong vỏ SVG thay vì đồ lại nó (tracing) và những gì bạn đang thấy là ảnh raster được nhúng không hiển thị được. Mở một tệp kết quả đầu ra trong trình soạn thảo văn bản - một thẻ base64 <image> duy nhất đã xác nhận điều đó. Chạy lại tiến trình hàng loạt bằng một công cụ cho ra các phần tử <path> đích thực.

Tôi có 50.000 tệp. Điều gì sẽ thực sự hiệu quả?

Một thư mục nóng (hot folder) hoặc API - mọi thứ khác sẽ đạt giới hạn trước đó rất lâu. Ở mức 60 yêu cầu mỗi phút, API hoàn thành 50.000 hình ảnh trong thời gian thực khoảng 14 giờ với khoản tín dụng trả trước trị giá €200. Thư mục nóng cục bộ thực hiện cùng một công việc ở trạng thái ngoại tuyến, với thông lượng được cài đặt bởi CPU của bạn. Cả hai giải pháp đều giữ cho các cài đặt giống hệt nhau trong toàn bộ quá trình chạy.

Bạn Đã Sẵn Sàng Để Xử Lý Khối Lượng Tệp PNG Tồn Đọng Chưa?

Chuyển đổi một tệp đơn trên công cụ trực tuyến miễn phí, thiết lập một thư mục nóng (hot folder) bằng bản Pro, hoặc chạy vòng lặp API - mọi lộ trình đều dẫn đến các đường nét vector gọn gàng, đích thực.