SVG 矢量图转 PNG 图像转换器
将 SVG 矢量文件转换为 PNG 光栅图像,把基于代码的可缩放图形转化为固定像素网格,以实现极高的应用兼容性。
格式比较与技术规格
| 规格 | SVG | PNG |
|---|---|---|
| MIME 类型 | image/svg+xml | image/png |
| 类型 | vector | raster |
| 压缩 | lossless XML text (GZIP compressible via .svgz) | lossless (DEFLATE / LZ77 + Huffman) |
| 标准规范 | W3C SVG 2 Specification | W3C PNG 3rd Edition |
| 魔数文件头 (Magic Bytes) | 3C 3F 78 6D 6C (<?xml) or 3C 73 76 67 (<svg) | 89 50 4E 47 0D 0A 1A 0A |
格式概述与应用
可缩放矢量图形(SVG)依赖于 XML 文本代码直接在屏幕上绘制几何路径、线条和形状。这种格式非常适合网页徽标和图标,因为艺术图形在任何屏幕尺寸下都能保持清晰。然而,一些较旧的软件、严格的电子邮件客户端和特定的打印工具无法读取矢量代码。将文件转换为便携式网络图形(PNG)文件可以通过将矢量形状绘制成固定的彩色像素网格来解决此问题。 网页开发人员和平面设计师在为移动应用商店或旧平台准备图标时,通常需要这种转换。应用商店要求应用程序图标具有特定的光栅尺寸。通过将矢量源转换为固定的图像网格,创作者可以确保图形在每个设备上都能正确显示,而无需依赖目标应用程序来解析 XML 代码。
技术规格与编解码器解析
SVG 文件使用 image/svg+xml MIME 类型,由括在标记括号中的纯文本 XML 标签组成。由于它们是人类可读的文本文档,因此不使用魔数。PNG 文件使用 image/png MIME 类型,并以精确的八字节魔数签名 89 50 4E 47 0D 0A 1A 0A 开头。在结构上,SVG 依赖于数学路径指令和坐标。PNG 依赖于使用 DEFLATE 算法压缩的像素光栅网格,该算法将 LZ77 滑动字典匹配与哈夫曼编码结合用于无损压缩。
操作系统与浏览器兼容性
SVG 文件可以在所有现代网页浏览器(包括 Chrome、Safari、Firefox 和 Edge)中原生打开,但在较旧的桌面软件(如早期版本的 Microsoft Office)中缺乏支持。PNG 图像在所有主流操作系统(包括 Windows、macOS、Linux、iOS 和 Android)上都具有极高的通用兼容性。每个现代网页浏览器、图像查看器和办公套件都可以打开 PNG 文件,而无需额外的插件。
实用信息
将矢量图转换为光栅图时,选择与最终显示目标匹配的分辨率大小。以双倍尺寸导出可以为高密度 Retina 显示屏创建清晰的图像。
格式比较与技术规格
典型的徽标矢量文件约为 15 KB。将其转换为高分辨率 PNG 会创建一个大约 250 KB 的文件。在快速光纤连接上,该文件的传输时间不到一毫秒。通过 5G 移动连接,大约需要两毫秒,而在标准的 4G 网络上,传输大约需要十毫秒。
常见问题
如何将 SVG 矢量图转换为 PNG 图像而不损失质量?
为了保持输出的清晰度,在应用 PNG 文件中使用的无损 DEFLATE 压缩之前,以高像素维度渲染矢量数学。由于这两种格式都是无损的,只要您不将最终的像素网格放大到超出其生成的尺寸,转换就会准确地保留每个锐利的边缘和颜色。
SVG 矢量图与 PNG 图像有什么区别?
SVG 是一种由 XML 文本指令构建的矢量格式,可以无限缩放而不会产生像素化。PNG 是一种由单个彩色像素的固定网格构建的光栅格式。矢量最适合处理调整大小和响应式网页设计,而光栅最适合处理复杂的摄影纹理和通用的软件兼容性。