UltKit

Cách chuyển PNG sang SVG: vector hóa logo, icon và nét vẽ

Để chuyển PNG sang SVG, bạn cần vector hóa (trace) ảnh: phần mềm gom các điểm ảnh thành những vùng màu phẳng rồi vẽ lại đường viền của chúng thành các đường cong. Cách này rất hiệu quả với logo, icon, chữ ký và nét vẽ, nhưng cho kết quả kém với ảnh chụp, dải màu chuyển sắc và chữ quá nhỏ.

Jonas WeberJonas WeberBiên tập viên hiệu suất web
Cập nhật 12 phút đọc
Bàn tay cầm bút cảm ứng phía trên máy tính bảng đặt trên trang tạp chí mở, in lưới các icon nhỏ màu trắng trên nền đen
Answer

Có thể chuyển PNG thành SVG thật sự, phóng to không vỡ không?

Được, bằng cách vector hóa (trace) ảnh thành các đường path, chứ không phải đóng gói ảnh vào SVG. Hãy dùng PNG rộng ít nhất 1000 px, đặt số màu bằng số màu phẳng trong thiết kế (thường 2–8), hoặc chuyển sang đen trắng với tranh nét, rồi phóng to SVG để kiểm tra các đường cong trước khi sử dụng.

Điểm ảnh và đường path: chuyển PNG sang SVG thực sự thay đổi điều gì

PNG là ảnh raster: một lưới pixel cố định, mỗi pixel có một màu và có thể có giá trị độ trong suốt. Logo 500 × 500 px chứa đúng 250.000 ô vuông như vậy và không có gì khác, nên khi phóng to lên cỡ poster, mỗi ô chỉ có thể to ra hoặc bị nhòe ở các khoảng giữa. SVG là ảnh vector, một tệp văn bản liệt kê các hình như <path>, <circle> và <rect> cùng tọa độ và màu tô. Trình duyệt hoặc máy cắt sẽ vẽ lại các hình đó ở bất kỳ kích thước nào cần thiết, vì vậy logo vector vẫn sắc nét trên màn hình điện thoại lẫn trên banner hội chợ.

Đi từ vector sang raster rất dễ vì bộ kết xuất chỉ cần vẽ các hình thành pixel; SVG sang PNG làm đúng việc đó trong một giây. Chiều ngược lại không có đường tắt nào không mất dữ liệu, vì lưới pixel không lưu lại các hình đã tạo ra nó. Phải có thứ gì đó nhìn vào pixel và đoán mỗi hình bắt đầu và kết thúc ở đâu. Bước đoán đó gọi là trace hay vector hóa, và mọi công cụ chuyển PNG sang SVG trung thực, từ Illustrator đến chương trình dòng lệnh, thực chất đều là công cụ trace.

Một số công cụ bỏ qua phần khó. Chúng ghi ra tệp SVG hợp lệ chứa một phần tử <image> với PNG gốc nhúng dưới dạng văn bản base64, khiến tệp nặng hơn PNG khoảng một phần ba. Kết quả mở được như SVG và qua được bước kiểm tra loại tệp, nhưng vẫn là ảnh pixel trong vỏ vector: phóng to sẽ thấy cùng những cạnh răng cưa, và máy cắt không tìm thấy đường path nào để chạy theo. Hãy mở SVG bất kỳ bằng trình soạn thảo văn bản và tìm data:image/png; nếu có chuỗi này thì chưa có gì được vector hóa.

MythLưu hoặc đổi tên PNG thành .svg sẽ biến nó thành vector.

FactĐổi tên chỉ đổi phần mở rộng. Pixel vẫn là pixel, và hầu hết ứng dụng từ chối mở tệp đó.

MythSVG nhúng PNG là tệp vector thật.

FactĐó là ảnh raster nằm trong vỏ SVG. Chỉ các phần tử <path> được trace mới phóng to mà không bị vỡ hạt.

MythTrace sẽ khôi phục chi tiết mà PNG nhỏ vốn không có.

FactCông cụ trace chỉ bám theo các pixel được đưa vào. Biểu tượng 64 px bị mờ sẽ thành các hình sần sùi và vẫn sần sùi ở mọi kích thước.

Hình vẽ vector hóa gọn gàng và hình vẽ không bao giờ vector hóa được

Trace phù hợp với những ảnh vốn được vẽ bằng các hình khối. Logo xuất từ ứng dụng thiết kế, biểu tượng phẳng, hoạt hình có viền đen, chữ ký quét hoặc khuôn stencil đều gồm một vài màu đặc phân tách bằng cạnh rõ. Công cụ trace gom mỗi màu thành các vùng, bám theo đường biên và khớp các đường cong mượt, nên SVG cuối cùng gần với hình mà nhà thiết kế đã vẽ. Chữ đậm trong logo chữ cũng trace tốt, vì chữ lớn chỉ là một hình tô khác, và mỗi ký tự trở thành đường viền bạn có thể đổi màu hoặc đổi kích thước nhưng không gõ lại được nữa.

Ảnh chụp thì ngược lại. Ảnh chân dung hay ảnh sản phẩm có hàng nghìn sắc độ khác nhau tinh tế hòa vào nhau, và định dạng vector không có cách hiệu quả để mô tả điều đó. Yêu cầu 16 màu, bạn được một hình minh họa posterize với các dải màu lộ rõ; yêu cầu 64 màu, bạn được hàng chục nghìn hình nhỏ trong tệp lớn hơn nhiều so với PNG mà vẫn không giống ảnh chụp. Chuyển màu mềm, bóng đổ và hiệu ứng phát sáng cũng thành các chồng dải mỏng theo cách tương tự. Chữ nhỏ là điểm gây rắc rối thứ ba: ở cỡ 10–12 px, khử răng cưa hòa mỗi chữ vào nền, và công cụ trace không phân biệt được chữ "e" với "o".

Trace sạch

  • Logo và logo chữ có màu phẳng
  • Biểu tượng, pictogram và clip art
  • Tranh vẽ mực, tranh tô màu và truyện tranh
  • Chữ ký và con dấu quét trên giấy trắng

Cần chuẩn bị trước

  • Logo có bóng đổ mềm hoặc hiệu ứng phát sáng
  • Phác thảo bút chì có nét xám không đều
  • Ảnh chụp màn hình logo trên nền rối
  • Pixel art, cần đường cong kiểu cạnh pixel

Sẽ không đẹp

  • Ảnh chụp người, món ăn hoặc phong cảnh
  • Ảnh dựa trên chuyển màu mượt
  • Chữ nhỏ hơn khoảng 14 px
  • Ảnh bị nén mạnh hoặc bị phóng to

Chuẩn bị file PNG tốt hơn để vector hóa

Độ phân giải quan trọng hơn bất kỳ cài đặt nào. Công cụ trace khớp mỗi đường cong với các bậc thang pixel dọc theo cạnh, bậc thang càng mịn thì đường cong càng chuẩn. Nếu tự xuất PNG từ Figma, Canva, Photoshop hoặc bản trình chiếu, hãy xuất lại ở kích thước gấp hai hoặc ba lần kích thước hiển thị; logo rộng 1500–2000 px cho công cụ trace nhiều dữ liệu để làm việc. Đừng phóng to PNG nhỏ bằng công cụ AI trước, trừ khi kết quả trông sạch ở mức zoom 100 %, vì kết cấu cạnh do AI tạo ra cũng được trace trung thành như cạnh thật.

Tiếp theo, hãy làm nền thật đơn giản. PNG hỗ trợ trong suốt hoàn toàn, và nền trong suốt là trường hợp dễ nhất: mọi pixel trong suốt hoàn toàn được coi là khoảng trống, nên SVG không có khung trắng phía sau hình. Nếu PNG có nền đặc, hãy cắt sát quanh hình trước; hướng dẫn cách cắt ảnh theo tỉ lệ của chúng tôi nói rõ về việc lấy khung chính xác. Nền rối, như logo chụp trên áo thun, nên được xóa hoặc tô đè bằng một màu phẳng trước khi trace.

Cuối cùng, hãy giảm số màu trước khi để công cụ trace làm việc đó. Ẩn bóng đổ, hiệu ứng phát sáng và lớp phủ chuyển màu trong tệp gốc, và thay màu chuyển bằng màu giữa của nó nếu bản vector không cần. Đếm các màu đặc còn lại, gồm cả màu viền, rồi ghi con số xuống; đó là con số hữu ích nhất bạn sẽ nhập ở bước tiếp theo. Nếu phải chọn giữa JPEG và PNG của cùng một logo, hãy chọn PNG, vì nén JPEG tạo nhiễu quanh mọi cạnh, như giải thích trong JPG, JPEG và PNG khác nhau thế nào.

  • PNG rộng ít nhất 1000 px, lý tưởng là 1500–2000 px với logo nhiều chi tiết
  • Nền trong suốt hoặc một màu phẳng, cắt sát hình
  • Bóng đổ, hiệu ứng phát sáng, kết cấu và chuyển màu đã được ẩn hoặc làm phẳng
  • Bạn biết thiết kế dùng bao nhiêu màu đặc, tính cả màu viền

Chọn số màu, độ làm mượt và ngưỡng cho hình vẽ của bạn

Mọi công cụ trace đều hỏi cùng ba câu, dù nhãn khác nhau. Câu đầu là giữ lại bao nhiêu màu. Trong công cụ chuyển PNG sang SVG, Chế độ màu cho chọn giữa Màu, Thang độ xám và Đen trắng, còn Số màu đặt số cụm mà pixel được phân loại vào, từ 2 đến 64. Hãy đặt bằng con số bạn đã ghi. Đặt quá cao khiến công cụ tách các pixel cạnh đã khử răng cưa thành những màu mỏng riêng, hiện ra như quầng mờ quanh mỗi hình; đặt quá thấp thì hai màu thương hiệu bị gộp làm một.

Câu thứ hai là xử lý cạnh thế nào. Làm mượt bo tròn các bậc thang do pixel để lại, còn Độ chi tiết quyết định một đốm nhỏ cỡ nào vẫn được thành hình. Trang PNG bắt đầu ở Độ chi tiết 70 và Làm mượt 40, giữ được các góc nhỏ khi bản xuất sạch. Hãy giảm Độ chi tiết nếu xuất hiện bụi và chấm lạc, tăng Làm mượt nếu đường cong bị gợn, và đặt Đường cong thành Đường thẳng cho logo hình học có cạnh thẳng, hoặc Cạnh pixel cho pixel art muốn giữ dạng khối.

Câu thứ ba chỉ áp dụng cho trace đen trắng: vạch ranh giới giữa mực và giấy ở đâu. Ngưỡng chạy từ 1 đến 254, mặc định là 128. Pixel tối hơn ngưỡng thành đen, sáng hơn thì thành trống. Với chữ ký bằng bút bi xanh nét mảnh, hãy tăng lên khoảng 160–180 để các nét nhạt còn lại; với tranh bút lông đậm trên giấy hơi xám, hãy giảm xuống khoảng 100 để vân giấy không biến thành đốm. Hãy đổi từng cài đặt một rồi so sánh, vì các cài đặt tác động lẫn nhau.

Điểm khởi đầu theo loại hình ảnh; chỉnh từng giá trị một
Hình ảnhChế độ màuSố màu / ngưỡngCạnh
Logo hoặc biểu tượng một màuĐen trắngNgưỡng 128Đường cong mượt
Logo phẳng 3–5 màuMàuĐúng số màuĐường cong mượt, Làm mượt 40
Logo hình học, cạnh thẳngMàuĐúng số màuĐường thẳng
Chữ ký bằng bút bi nét mảnhĐen trắngNgưỡng 160–180Đường cong mượt, Làm mượt cao hơn
Phác thảo bút chìThang độ xám4–6 mức xámGiảm Độ chi tiết để bỏ vân giấy
Sprite pixel artMàuĐúng kích cỡ bảng màuCạnh pixel
Ảnh chụp, để tạo hiệu ứng posterMàu8–16 màuKết quả sẽ mang tính cách điệu
Một chiếc máy tính bảng trên bàn gỗ hiển thị chữ A hoa vẽ bằng nét bút mảnh, bên cạnh bút cảm ứng, tai nghe và một cuốn sách thiết kế màu cam
Ảnh: Unsplash

Cách đánh giá file SVG nhận được

Đừng chỉ nhìn ảnh thu nhỏ. Hãy mở SVG trong trình duyệt và phóng to 400–800 % ở đường cong khít nhất, như phần bụng chữ hoặc đầu nhọn. Bản trace tốt có cung mượt và góc sắc ở nơi thiết kế có góc; bản yếu có chỗ gợn, lõm và đầu nhọn bị bo tròn. Sau đó xem tệp trong trình chỉnh sửa vector như Inkscape, Illustrator hoặc Figma và bật chế độ outline hoặc xem node. Logo hai màu đơn giản thường cần vài trăm node; nếu của bạn có vài nghìn, công cụ trace đã bám theo nhiễu và các path sẽ rất khó chỉnh sửa hoặc cắt.

Dung lượng tệp là cách kiểm tra nhanh. SVG đã tối ưu của logo phẳng thường từ vài KB đến vài chục KB, thường nhỏ hơn PNG gốc. Tệp trace lớn gấp nhiều lần PNG nguồn thường nghĩa là quá nhiều màu, quá nhiều chi tiết, hoặc là ảnh chụp lẽ ra không nên trace. Hãy giữ Tối ưu SVG luôn bật, vì nó làm tròn tọa độ và gộp path mà không thay đổi hiển thị, và cuối cùng hãy phóng hình lên cỡ poster rồi thu xuống cỡ favicon để xác nhận nó đọc rõ ở cả hai.

  • Quầng hoặc viền mỏng quanh mỗi hình

    Các pixel cạnh đã khử răng cưa trở thành một màu riêng. Giảm Số màu một hoặc hai, hoặc tăng Làm mượt.

  • Hàng trăm đốm nhỏ quanh hình

    Nhiễu hoặc vân giấy đã bị trace. Giảm Độ chi tiết, hoặc làm sạch nền của PNG rồi trace lại.

  • Nét mảnh bị đứt thành các đoạn ở chế độ đen trắng

    Nét nhạt hơn ngưỡng cắt. Tăng Ngưỡng mỗi lần 15–20 cho đến khi nét liền lại.

  • Góc vuông bị bo tròn

    Làm mượt quá cao cho thiết kế này. Giảm xuống, hoặc chuyển Đường cong sang Đường thẳng với hình hình học.

Inkscape, Illustrator, Potrace hay trình duyệt

Lựa chọn miễn phí trên máy tính là Inkscape. Nhập PNG, chọn nó và mở Path > Trace Bitmap (Shift+Alt+B). Các chế độ quét một lần như Brightness cutoff tạo một path đen, phù hợp với tranh nét; các chế độ quét nhiều lần trace một số màu hoặc mức xám nhất định thành các lớp xếp chồng. Trace đen trắng của Inkscape dựa trên Potrace, thư viện trace do Peter Selinger phát hành năm 2001. Bản thân Potrace là chương trình dòng lệnh đọc PBM, PGM, PPM hoặc BMP chứ không đọc PNG, chỉ xử lý ảnh hai tông và ghi ra SVG, PDF, EPS hoặc DXF, nên phù hợp để viết script xử lý hàng loạt bản quét.

Trong Adobe Illustrator, Image Trace thay thế Live Trace cũ từ Illustrator CS6. Đặt PNG vào, mở Window > Image Trace và bắt đầu từ preset như Black and White Logo, 3 Colors hoặc 16 Colors, rồi chỉnh Paths, Corners và Noise ở phần nâng cao. Bản trace vẫn ở trạng thái trực tiếp cho đến khi bạn bấm Expand, biến nó thành các path thông thường chỉnh sửa được. Nếu chưa cài chương trình nào trong hai chương trình trên, công cụ chuyển đổi trên trình duyệt chạy cùng quy trình giảm màu, tìm cạnh, khớp đường cong; công cụ chuyển ảnh sang SVG còn nhận JPG, WebP và HEIC và có thể ghi EPS, PDF hoặc DXF thay cho SVG.

  • Inkscape Trace Bitmap

    Miễn phí cho Windows, macOS và Linux. Có chế độ quét một lần và nhiều màu, xem trước trực tiếp, sau đó chỉnh sửa path đầy đủ.

  • Illustrator Image Trace

    Có phí, nằm trong Creative Cloud. Có preset theo loại hình, sau đó Expand để chỉnh path cùng các tác phẩm vector khác.

  • Potrace

    Miễn phí, dòng lệnh, chỉ nhận đầu vào hai tông. Tốt nhất cho xử lý hàng loạt bằng script với chữ ký, con dấu và tranh nét đã quét.

  • Công cụ trên trình duyệt

    Không cần cài đặt, tối đa 20 tệp, mỗi tệp tới 95 MB cho mỗi lượt, tệp tải lên bị xóa sau 30 phút.

Dùng file SVG vào đâu tiếp theo và khi nào nên xin file gốc

Trên web, SVG là khuyến nghị của W3C từ năm 2001 và mọi trình duyệt hiện nay đều hiển thị nó trong thẻ <img>, làm nền CSS hoặc nhúng trực tiếp trong HTML, nơi màu thậm chí có thể đổi khi rê chuột. Logo đã trace thường thay thế nhiều kích cỡ PNG cho màn hình retina bằng một tệp nhỏ. Với máy cắt, SVG là định dạng Cricut Design Space và Silhouette Studio yêu cầu: mỗi hình được trace thành một đường cắt, và bản trace nhiều màu đến dưới dạng các lớp riêng để cắt từ các màu decal khác nhau. Máy cắt laser và phần mềm CNC thường ưu tiên DXF, mà PNG sang DXF tạo ra từ cùng cài đặt trace.

Xưởng in yêu cầu tệp vector vì máy in, người số hóa thêu hoặc máy cắt decal cần cạnh chứ không cần pixel, và SVG đã trace thường đáp ứng được cho sticker, áo thun hay banner. Nhưng đó vẫn chỉ là xấp xỉ: đường cong là phỏng đoán được khớp, màu được lấy trung bình từ pixel, và chữ được chuyển thành đường viền. Vì vậy trước khi trace logo công ty, hãy hỏi người làm ra nó. Nhà thiết kế hoặc agency hầu như luôn có tệp AI, EPS, PDF hoặc SVG gốc với đường cong chính xác, màu có tên và font, và gửi chỉ mất một phút. Trace là công cụ đúng khi bản gốc đã mất, khi logo chỉ còn trên giấy tiêu đề đã quét, hoặc khi hình là bản vẽ của chính bạn.

Trace không thay đổi quyền sở hữu tác phẩm

Chuyển logo, nhân vật hay hình minh họa sang SVG chỉ tạo một bản sao ở định dạng khác, không phải thiết kế mới. Chỉ trace tác phẩm bạn sở hữu, được phép dùng hoặc đã có giấy phép, và hãy kiểm tra giấy phép trước khi cắt hoặc in tác phẩm của người khác để bán.

Điểm chính cần nhớ

  • PNG chỉ trở thành SVG thật qua trace; SVG nhúng PNG vẫn là ảnh pixel.
  • Logo, biểu tượng, chữ ký và tranh nét có ít màu phẳng trace sạch; ảnh chụp, chuyển màu và chữ nhỏ thì không.
  • Hãy bắt đầu từ PNG lớn, sạch, nền trong suốt hoặc phẳng và biết chính xác số màu.
  • Kiểm tra kết quả ở mức zoom cao, trong chế độ xem node và theo dung lượng tệp trước khi dùng.
  • Nếu nhà thiết kế đã làm logo, hãy xin tệp vector gốc trước khi trace một bản sao.
Chia sẻXFacebookWhatsAppTelegram

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

Làm sao biết file SVG là vector thật hay chỉ là ảnh được bọc bên trong?

Hãy mở file bằng trình soạn thảo văn bản. Nếu thấy các phần tử path với danh sách tọa độ dài, đó là ảnh vector. Nếu chỉ thấy một phần tử image chứa data:image/png theo sau là một khối văn bản dài, đó là ảnh PNG được đặt trong lớp vỏ SVG.

Chuyển SVG ngược lại sang PNG có bị giảm chất lượng không?

Không, miễn là bạn xuất ra đúng kích thước cần dùng. Ảnh vector có thể chuyển thành PNG với bất kỳ kích thước pixel nào, vì vậy hãy xuất một file PNG mới cho từng mục đích thay vì đổi kích thước file PNG cũ.

Một logo sau khi vector hóa nên có bao nhiêu điểm neo (node)?

Không có giới hạn cố định, nhưng một logo phẳng đơn giản thường chỉ cần vài trăm nút. Nếu có hàng nghìn nút, thường là công cụ vector hóa đã bám theo nhiễu ảnh, nên hãy giảm mức chi tiết hoặc số màu rồi vector hóa lại.

Vì sao file SVG có những đường kẻ trắng mảnh giữa các hình màu?

Các hình ghép sát cạnh nhau có thể xuất hiện khe hở rất mảnh khi trình xem làm mịn răng cưa cho từng hình riêng lẻ. Các công cụ vector hóa xếp chồng các hình lên nhau sẽ tránh được phần lớn lỗi này.

Nên gửi cho nhà in file SVG hay PDF?

Hãy hỏi xem họ nhận định dạng nào. Nhiều xưởng in ưu tiên PDF hoặc EPS vì quy trình của họ được xây dựng quanh các định dạng này, và cả hai đều có thể chứa cùng các đường vector như file SVG.

Có chỉnh sửa được chữ trong logo đã vector hóa không?

Không còn là văn bản. Quá trình vector hóa biến chữ cái thành các hình đã chuyển nét, nên để sửa một từ, bạn cần nhận diện font, gõ lại từ đó trong trình chỉnh sửa vector và đặt vào đúng vị trí của các chữ đã vector hóa.

Đọc tiếp