Chuyển đổi miễn phí

SVG sang PNG Bộ chuyển đổi

Chuyển đổi tệp Vector SVG thành hình ảnh Raster PNG chất lượng cao. Tùy chỉnh tỷ lệ đầu ra và màu nền dễ dàng trong trình duyệt của bạn.

Kéo và thả SVG vào đây

Hỗ trợ lên tới 50MB

Hoặc

Về công cụ này

SVG (Đồ họa vectơ có thể mở rộng) mô tả hình ảnh dưới dạng một tập hợp các nguyên hàm hình học - đường dẫn, hình dạng, văn bản, độ dốc - có tỷ lệ theo bất kỳ kích thước nào mà không làm giảm chất lượng. PNG lưu trữ một lưới pixel hình chữ nhật ở độ phân giải cố định. Chuyển đổi SVG sang PNG là một bước rasterization: hướng dẫn vẽ của SVG được đánh giá ở kích thước pixel đã chọn và bitmap kết quả được mã hóa dưới dạng PNG. Đầu ra trông sắc nét ở kích thước bạn đã chỉ định nhưng sẽ tạo pixel nếu tăng tỷ lệ.

Bộ chuyển đổi này hiển thị SVG bằng công cụ SVG tích hợp trong trình duyệt. SVG được tải vào phần tử Hình ảnh, được vẽ trên khung vẽ HTML5 ở kích thước đầu ra đã chọn và xuất dưới dạng PNG qua canvas.toBlob. Bởi vì trình duyệt thực hiện rasterization, các tính năng SVG phức tạp - độ dốc, bộ lọc, mặt nạ, hình động dưới dạng khung tĩnh - hiển thị giống như cách chúng làm trên một trang web thực.

Quyết định quan trọng nhất trong việc chuyển đổi SVG sang PNG là kích thước mục tiêu. SVG không phụ thuộc vào độ phân giải, do đó, việc chọn kích thước PNG phù hợp với mức sử dụng thực tế sẽ tránh cung cấp quá mức (tệp lớn cho các biểu tượng có kích thước hình thu nhỏ) và cung cấp dưới mức (đầu ra bị mờ khi tăng tỷ lệ sau này). Mục tiêu phổ biến: 32×32 hoặc 64×64 cho biểu tượng, 256×256 hoặc 512×512 cho logo, 1024×1024 cho đồ họa anh hùng, 2048×2048 cho nội dung chất lượng retina.

Tại sao chuyển đổi SVG sang PNG

SVG rất tuyệt vời cho web và các công cụ thiết kế hiện đại nhưng lại tệ cho nhiều bối cảnh khác. Ứng dụng email khách hiển thị SVG không nhất quán; một số chặn nó như một rủi ro bảo mật. Phần mềm văn phòng cũ hơn, một số CMS nhất định, dịch vụ của bên thứ ba và hầu hết tất cả các quy trình in ảnh đều không chấp nhận SVG. Việc chuyển đổi sang PNG sẽ tạo ra một raster được chấp nhận rộng rãi trông giống hệt ở kích thước đã chọn.

PNG cũng nhúng vào các tài liệu văn phòng, bản trình bày và tệp PDF một cách đáng tin cậy mà không phụ thuộc vào trình kết xuất SVG của người nhận. Đối với các logo và đồ họa cần xuất hiện nhất quán trên nhiều nền tảng, PNG là lựa chọn an toàn hơn — mặc dù nó mất đi tính độc lập với độ phân giải vốn khiến SVG trở nên hấp dẫn ngay từ đầu.

Cách sử dụng

Chọn kích thước mục tiêu của bạn, kết xuất. Trình duyệt thực hiện việc rasterization.

  1. Tải lên tệp SVG: Kéo SVG vào khu vực tải lên hoặc nhấp để duyệt. Các tệp có dung lượng lên tới 50 MB được hỗ trợ, mặc dù các SVG thông thường chỉ dưới 1 MB. SVG độc lập hoạt động tốt nhất; Các SVG tham chiếu hình ảnh bên ngoài qua xlink:href tới các URL từ xa có thể hiển thị không đầy đủ.
  2. Chọn kích thước đầu ra: Mặc định là kích thước viewBox gốc của SVG, nhưng bạn có thể ghi đè lên bất kỳ kích thước pixel nào. Chọn kích thước phù hợp với mức sử dụng thực tế của bạn — tránh tạo PNG 4K cho các biểu tượng sẽ hiển thị ở kích thước 32×32.
  3. Kết xuất: Trình duyệt phân tích cú pháp SVG, vẽ nó lên khung vẽ theo kích thước được yêu cầu và xuất khung vẽ dưới dạng PNG. Các SVG phức tạp có bộ lọc hoặc số lượng đường dẫn lớn có thể mất chút thời gian; các biểu tượng đơn giản hiển thị ngay lập tức.
  4. Tải xuống PNG: Lưu tập tin. Độ trong suốt trong SVG (bất kỳ thứ gì bên ngoài hình vẽ) được giữ nguyên dưới dạng kênh alpha trong PNG.

Các trường hợp sử dụng phổ biến

Chi tiết kỹ thuật

SVG (Khuyến nghị của W3C) là định dạng vectơ dựa trên XML với các phần tử cho đường dẫn, hình dạng cơ bản (trực tràng, hình tròn, hình elip, đường thẳng, đa giác, đa tuyến), văn bản, độ dốc (tuyến tínhGradient, radialGradient), bộ lọc, mặt nạ và đường dẫn cắt. Trình duyệt phân tích cú pháp XML, xây dựng DOM, áp dụng CSS và phân loại kết quả trong quá trình hiển thị trang.

Bộ chuyển đổi này tải SVG vào HTMLImageElement (kích hoạt đường dẫn hiển thị SVG dưới dạng hình ảnh thông thường của trình duyệt), sau đó vẽ nó vào canvas thông qua drawImage. Canvas được xuất dưới dạng PNG bằng canvas.toBlob('image/png'). Các pixel chính xác trong đầu ra khớp với những gì SVG sẽ hiển thị ở cùng kích thước trong tab trình duyệt.

Các trường hợp cạnh: SVG sử dụng đối tượng nước ngoài không phải lúc nào cũng được hỗ trợ khi sử dụng thông qua phần tử Hình ảnh. SVG tham chiếu các tài nguyên bên ngoài (xlink:href tới một miền khác) có thể không tải được do CORS. Hoạt ảnh SMIL và hoạt ảnh dựa trên JavaScript chỉ hiển thị dưới dạng khung ban đầu.

Thực tiễn tốt nhất

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

SVG của tôi có bị giảm chất lượng khi chuyển đổi sang PNG không?
Chuyển đổi từ vectơ sang raster có nghĩa là hình ảnh trở thành dựa trên pixel và không thể chia tỷ lệ vô hạn được nữa. Chọn độ phân giải cao để đảm bảo PNG trông sắc nét ở kích thước hiển thị dự định của bạn.
Định dạng PNG được sử dụng để làm gì?
PNG (Portable Network Graphics) chủ yếu được sử dụng cho đồ họa có độ trong suốt, ảnh chụp màn hình, logo, biểu tượng.
Có bất kỳ hạn chế nào cần lưu ý không?
Các tập tin lên tới 50 MB được hỗ trợ. Các tệp rất lớn hoặc phức tạp có thể mất nhiều thời gian hơn để xử lý. Tất cả chuyển đổi diễn ra trong trình duyệt của bạn, vì vậy tốc độ xử lý phụ thuộc vào thiết bị của bạn.
Hình ảnh của tôi có được giữ kín trong quá trình chuyển đổi không?
Đúng. Các tệp SVG của bạn được xử lý hoàn toàn trong trình duyệt bằng cách sử dụng API Canvas và JavaScript. Không có gì được tải lên bất kỳ máy chủ nào - tệp sẽ đi trực tiếp từ thiết bị của bạn tới bộ chuyển đổi và quay lại thiết bị của bạn.
Văn bản được hiển thị dưới dạng văn bản hay dưới dạng đường dẫn?
Văn bản được rasterized dưới dạng pixel trong PNG đầu ra. Đầu ra không còn có thể tìm kiếm hoặc lựa chọn được nữa. Nếu SVG của bạn sử dụng phông chữ không có sẵn trong trình duyệt, văn bản có thể hiển thị ở phông chữ dự phòng; chuyển đổi văn bản thành đường dẫn trong SVG trước khi hiển thị để đảm bảo giao diện.
SVG của tôi có được tải lên máy chủ không?
Không. Quá trình phân tích và hiển thị SVG diễn ra trong trình duyệt của bạn; Mã hóa PNG xảy ra trong trình duyệt của bạn. Tệp không rời khỏi thiết bị của bạn.
Tại sao PNG đã chuyển đổi của tôi lại trống?
Nguyên nhân phổ biến: SVG tham chiếu hình ảnh bên ngoài không tải được do CORS; SVG sử dụng các tính năng không được đường dẫn hiển thị phần tử Hình ảnh hỗ trợ (foreignObject, một số bộ lọc nhất định); SVG có viewBox không chiều. Mở SVG trực tiếp trong trình duyệt để xác nhận nó hiển thị trước khi chuyển đổi.
Tôi có thể chuyển đổi SVG sang PNG trong tập lệnh không?
Có - đối với các tác vụ hàng loạt, thiết lập Node.js sử dụng công cụ sắc nét hoặc múa rối sẽ hiển thị SVG thành PNG với độ trung thực tương tự như trình duyệt. Công cụ này dành cho chuyển đổi một lần trong trình duyệt mà không cần cài đặt bất cứ thứ gì.