跳到主要内容
AZ Tools

SVG → PNG 转换器

拖入 SVG 文件或粘贴其标记,选择缩放倍数和背景,然后下载 PNG。固有尺寸从 width 与 height 属性读取,若没有则从 viewBox 读取,再乘以你设定的倍数——因此 2x、3x 导出能得到高密度屏幕所需的素材。背景比看上去更重要:SVG 没有自己的底色,所以一个以黑色画在「什么都没有」之上的图标,结果就是透明底上的黑色,在你给它白色或某种颜色之前,它在深色界面上是看不见的。渲染在你浏览器的 Canvas 中完成,文件不会被上传。

原始尺寸: 200 × 200

预览输出: 200 × 200

使用方法

  1. 拖入 SVG 文件或粘贴 SVG 代码。
  2. 调整倍率(1× 即原始尺寸)。
  3. 选择背景——透明 / 白 / 自定义颜色。
  4. 点击下载保存 PNG。

常见问题

为什么默认是 200×200?
若 SVG 没有 width / height / viewBox,工具会回退到 200×200。在 SVG 中加上 viewBox 或显式尺寸即可改变默认值。
PNG 中字体看起来不同
浏览器使用用户系统中的字体来栅格化 SVG。如使用自定义字体,请以 data: URL 内嵌,或在矢量工具中将文本转为路径。
我的 SVG 会上传吗?
不会。SVG 在浏览器 Canvas 中解析与栅格化,不会发送到任何服务器。
支持 SVG 中的外部图片吗?
通过 URL 引用的图片可能因 CORS 失败。请把外部图片以 data: URL 内嵌到 SVG 中。
应该按什么倍数导出?
与图片将要显示的屏幕密度相匹配。1x 是 CSS 像素尺寸,2x 覆盖当下大多数手机和笔记本,3x 覆盖密度最高的手机屏幕。如果这张 PNG 是放进文档或幻灯片而不是界面,按 2x 导出并让它自行缩小是稳妥的默认做法。
为什么我的 PNG 是模糊的?
因为它以过小的尺寸被栅格化,之后又被放大了。SVG 本身没有分辨率,所以 PNG 的清晰度完全由导出那一刻决定:请调高倍数重新导出,而不要事后放大 PNG——事后放大只能对已有的内容做插值。
为什么 PNG 丢失了 SVG 里的颜色或样式?
因为只有文件自身携带的东西才能被渲染。位于外部样式表里的样式、从页面继承来的 CSS 自定义属性,以及只是被引用而未嵌入的字体,在 SVG 被单独渲染时都不可用。把样式内联进标记、把文字转为路径,导出的结果就会和你设计的一致。

相关工具