位图和矢量图的区别
位图(JPG、PNG、WebP、BMP)是由固定像素网格组成的。原始尺寸下看着挺清楚,但一放大就模糊、出现马赛克。矢量图(SVG)是用数学路径和形状定义的——不管缩到多大,从 tiny 图标到巨型广告牌,永远都是锐利清晰的。把位图转成矢量图的过程叫「图像描摹」或者「矢量化」——就是检测像素图片里的边缘和色块,然后用几何路径重新画一遍。
图像描摹是怎么工作的
我们的 SVG 转换工具用的是 ImageTracer.js 这个 JavaScript 库,它会分析图片的每个像素,根据颜色边界生成矢量路径。细节等级控制描摹器对像素级细节的还原精度。细节低的话路径更平滑、更简单,控制点少——Logo 和图标用这个就很好。细节高能捕捉更多复杂度,但生成的文件更大、路径更多。颜色数量决定了最终 SVG 里有多少种独立颜色。线稿和 Logo 一般 2-8 色就够了,照片级效果的话 16-64 色更接近原图。
ICO 转换原理不太一样——它就是把你的图片缩放成多种标准尺寸(16×16、32×32、48×48、64×64、128×128、256×256),然后打包成一个 Windows 图标(.ico)文件。浏览器会根据显示场景自动选最合适的尺寸——标签页图标用小的,桌面快捷方式用大的。
转出最佳矢量效果的技巧
想要最干净的 SVG 输出?源图对比度高一点效果更好——清晰的 Logo、粗线条的线稿、简单的图形,描摹出来比模糊的照片好太多。如果图片有渐变或阴影,试试减少颜色数量让结果更简洁。下载前一定要看看 SVG 预览——放大检查细节有没有丢失。做 Logo 和图标的话,在保持还原度的前提下,细节和颜色越少越好——这样文件最小、矢量最干净。记住:SVG 最适合图形、Logo、插画这类。如果是照片类的,还是保留位图格式(JPG/WebP)通常效果更好。