图片转SVG — PNG/JPG 转矢量图
可调颜色数和细节的位图转 SVG 矢量描摹工具
在浏览器中处理 · 不上传任何内容
图片会被减少到几种颜色,再用直线和曲线描出每个色块的轮廓。适合 logo、图标、文字和简单的插画。照片会变成色调分离的效果,文件也可能非常大;渐变和柔和的边缘无法原样保留。
把要转换为 SVG 的图片拖到这里
一张 JPG、PNG、WebP、GIF 或 BMP(最大 50 MB)。也可以用 Ctrl+V(Mac 上为 ⌘V)粘贴。不会上传任何内容。
SVG 最多使用的颜色数。logo 可试试 2–8,插画用 16 或更多。
数值越高,轮廓越贴合,小斑点也会保留,但文件更大、耗时更长。1 最简洁,5 最接近原图。
功能简介
这个工具把位图(PNG、JPG、WebP、GIF 或 BMP)转换为 SVG 矢量图。位图由像素网格组成,放大后会出现马赛克;SVG 记录的是线条和曲线,放大到任何尺寸都清晰。原始 logo 文件丢了、只剩一张小 PNG,需要网站图标,或者需要用于激光切割、刺绣、贴纸的矢量图时,都能派上用场。
先了解它的局限:图片会被减少到几种颜色,再描出每个色块的轮廓,所以渐变、柔和的边缘和照片质感无法原样保留。图案越扁平,结果越干净。
使用方法
- 拖入图片,或点击 选择图片。也可以用 Ctrl+V 粘贴。
- 设置 颜色数:黑白 logo 用 2,几种颜色的 logo 用 4–8,插画用 16 或更多。
- 在 1 到 5 之间选择 细节。数值越高,轮廓越贴合。
- 对比预览和原图,然后点击 保存 SVG 或复制代码。
工作原理
- 减色:每个像素被分配到采样得到的调色板颜色,再经过三轮细化。同一张图片和同样的设置,总是得到相同的 SVG。
- 描摹:色块的边缘用直线和二次曲线拟合。细节 1 允许 4 px 误差,并去掉轮廓点少于 32 个的形状;细节 5 的误差在 0.25 px 以内,保留小斑点。
- 分析尺寸:为了速度,长边在细节 1 时缩小到 300 px,细节 3 时 700 px,细节 5 时 1400 px,坐标再按原始尺寸放大回去。
- 清理:去掉完全透明颜色的形状,并设置原始宽高和 viewBox。
- 描摹使用 imagetracerjs(公有领域)。
示例
| 原图 | 设置 | 结果 |
|---|---|---|
| 黑色文字 logo PNG,800×300 | 2 色,细节 3 | 白底黑字,文件很小 |
| 四色图标 PNG,512×512 | 4 色,细节 4 | 4 种颜色,曲线平滑 |
| 风景照片 JPG,4000×3000 | 16 色,细节 2 | 海报效果,文件比 logo 大得多 |
要把矢量图转回 PNG,请用 SVG 转 PNG;需要整套网站图标,可以试试网站图标(favicon)生成器。
常见问题
照片能转成 SVG 吗?
可以,但会变成几块平涂的色块,像海报一样;细节调高时文件可能达到几 MB。照片更适合保留为 JPG 或 WebP,这个工具适合 logo、图标、文字和简单的插画。
结果里有很多小斑点。
降低细节可以去掉小色块,减少颜色数可以合并相近的颜色。如果原图是噪点多的 JPG,2–8 种颜色通常最有效。
透明背景会保留吗?
会。完全透明的区域不会生成形状,在 SVG 中保持空白。半透明区域会带有对应颜色的不透明度。
保存的 SVG 是多大尺寸?
它带有原图的像素宽高和 viewBox,无论在网页还是设计软件里,都能清晰地缩放到任意尺寸。
我的图片会被上传吗?
不会。分析和描摹都在浏览器内完成。