PNG 图像转 SVG 矢量图转换器
将光栅 PNG 图像封装在 SVG XML 向量容器中,以实现响应式网络缩放和向量兼容的布局集成。
格式比较与技术规格
| 规格 | PNG | SVG |
|---|---|---|
| MIME 类型 | image/png | image/svg+xml |
| 类型 | raster | vector |
| 压缩 | lossless (DEFLATE / LZ77 + Huffman) | lossless XML text (GZIP compressible via .svgz) |
| 标准规范 | W3C PNG 3rd Edition | W3C SVG 2 Specification |
| 魔数文件头 (Magic Bytes) | 89 50 4E 47 0D 0A 1A 0A | 3C 3F 78 6D 6C (<?xml) or 3C 73 76 67 (<svg) |
格式概述与应用
将 PNG 文件转换为 SVG 格式会将光栅位图包裹在 XML 向量容器内,允许网页开发者和平面设计师将光栅图形直接嵌入可缩放向量工作流中。光栅 PNG 图像使用固定网格的彩色像素。将此图形包装到 SVG 文件中,可以保留原始像素尺寸和透明度,同时使图像能够直接嵌入 SVG 驱动的网页布局和响应式 UI 视口中。 网页设计师经常执行此转换,以便将光栅艺术品集成到 SVG 精灵表、向量插画工作流和响应式网站中,而无需管理单独的外部图像文件。生成的 SVG 将整个图形自包含地打包在标准 XML 标记中。
技术规格与编解码器解析
PNG 文件是 MIME 类型为 image/png 的光栅图像。它以幻数字节标头 89 50 4E 47 0D 0A 1A 0A 开头,后面跟着使用 DEFLATE 算法压缩的数据块,该算法结合了 LZ77 滑动字典和霍夫曼编码。相比之下,SVG 文件使用 MIME 类型 image/svg+xml,并结构化为 XML 文档。在转换过程中,引擎会在客户端内存中光栅化图像,将位图序列化为 PNG,并将图像作为 Base64 数据 URI 嵌入到 SVG <image> 容器元素中。这会将图形打包成一个有效的、自包含的且具有定义好的 viewBox 尺寸的 SVG 文件。
操作系统与浏览器兼容性
SVG 文件在桌面和移动操作系统(如 Windows、macOS、Android 和 iOS)上的现代网页浏览器(包括 Chrome、Firefox、Safari 和 Edge)中享有广泛支持。图像查看器和设计套件(如 Adobe Illustrator、Inkscape 和 CorelDRAW)可以原生处理 SVG 编辑。PNG 文件共享这种通用的浏览器和操作系统支持,但查看原始 SVG 标记需要任何标准的文本编辑器。
实用信息
由于此转换是将光栅位图嵌入到 XML 容器中,而不是追踪向量路径,因此该图形可以保留精确的像素细节和 Alpha 透明度,同时与 SVG 渲染器保持完全兼容。
格式比较与技术规格
一个复杂的、高分辨率的 PNG 徽标很容易达到 2 兆字节,在标准的 4G 移动连接下下载大约需要 3.2 秒。等效转换后的 SVG 文件通常会缩减到仅 40 千字节,在 4G 上可在 0.1 秒内下载完成,在 5G 和光纤网络上则瞬间完成。
常见问题
如何在不失真的情况下将 PNG 图像转换为 SVG 向量?
转换器将全分辨率 PNG 位图作为嵌入式 Base64 数据流直接封装在 SVG XML 包装器中。这可以保留 100% 的原始像素颜色和透明度,且零世代损失。
PNG 图像与 SVG 向量有什么区别?
PNG 是一种光栅图像格式,将视觉数据存储为使用 DEFLATE 压缩的固定彩色像素网格,其文件大小取决于像素尺寸。SVG 是一种向量图像格式,将视觉数据存储为以 XML 文本编写的可缩放数学指令,允许图像无限放大而不产生像素化。