把 SVG 转成任意分辨率的 PNG
把矢量图按你指定的尺寸渲染成像素。
把文件拖到这里
或点击选择文件
在你的设备上运行 文件由你自己的浏览器处理,不会上传到任何服务器。
一句话答案
在浏览器里可以把 SVG 转成 PNG,无需上传。矢量图本身没有分辨率——它是一组绘制指令——所以转换必须先指定一个,然后由浏览器自己的渲染器按该尺寸绘制。输出保留透明;并且由于它是被渲染出来的而不是被放大的,一张 2000 像素的 PNG 和一张 200 像素的一样锐利。
一览
| 支持输入 | SVG |
|---|---|
| 输出格式 | 按你指定宽度渲染的 PNG |
| 处理方式 | 浏览器本地 |
| 价格 | 免费,无次数限制 |
| 账号 | 无需注册 |
这是本站唯一一个「要求更大输出并不算错」的转换。在其他所有地方,放大都会被拒绝,因为它增加不了细节。SVG 不一样:这里根本不存在一个「原始像素网格」可供越过,所以按 2000 像素渲染产生的是货真价实的细节,而按 200 像素渲染则没有。
尺寸按这张 PNG 的用途来定。做 favicon 的源图选 256 或 512;放进文档的 logo 选打印尺寸的两到三倍;要上高分屏的,取版面宽度的两倍。
使用步骤
- 1
添加 SVG
拖入一个 .svg 文件,它在你的设备上被读取并渲染。
- 2
设定宽度
高度按图形自身的长宽比自动得出。
- 3
下载 PNG
透明会以完整的 alpha 通道形式保留。
常见问题
我的 SVG 没有写宽高怎么办?
会改用它的 viewBox 来推算长宽比——这是矢量图最靠得住会携带的一个属性。如果连 viewBox 也没有,就按正方形处理。
透明会保留吗?
会。SVG 里没有被绘制到的地方,在 PNG 里就是透明的,所以 logo 放到任何背景上都能用。
为什么渲染出来字体不对?
因为文件只是按名字引用了某个字体、并没有把它包含进来,而渲染器只能用你设备上已有的字体。在制作这个 SVG 的软件里把文字转成轮廓,可以一劳永逸地解决。
会加载外部图片和脚本吗?
不会。文件是在隔离状态下渲染的,所以一个链接了网上其他图片的 SVG,渲染出来会缺掉那部分。而这个限制也正是渲染一个来路不明的 SVG 依然安全的原因。