svg 后缀名 矢量图形文件格式详解
svg 后缀名对应的文件全称是可缩放矢量图形,属于基于 xml 标记语言的矢量图片格式,和 jpg png 这类位图有本质区别,位图是由大量像素点拼接而成,放大之后会出现模糊锯齿,svg 后缀名文件记录的是线条路径填充颜色坐标运算指令,不管放大缩小多少倍,图形边缘依旧保持清晰,不会失真,这个特性让 svg 后缀名文件非常适合图标 logo 网页元素印刷标识,现在网页设计 UI 设计印刷行业都在大量使用 svg 后缀名文件,它还有一个优势就是文件体积通常很小,支持文本编辑,可以直接用记事本打开修改里面的代码,同时支持动画交互,但是 svg 后缀名也有短板,不适合存放照片这类复杂写实图像,如果是色彩层次特别多的实景图片,转换成 svg 之后文件反而会变大,渲染效率也会下降,学习这个后缀名格式,需要理解矢量原理,掌握打开编辑转换的基础操作,区分它和其他图片后缀名的适用场景。
svg 后缀名基础原理
svg 后缀名本质是纯文本代码文件,内部使用 xml 语法描述图形元素,里面可以定义矩形圆形多边形贝塞尔曲线渐变滤镜文字等元素,浏览器识别这段代码之后实时计算绘制出图形,因为没有固定像素分辨率,所以不存在 dpi 固定限制,任意缩放都不会损失画质,这个是 svg 后缀名最核心的技术特点,早期 svg 是国际标准化组织制定的开放标准,没有专利授权费用,所有软件都可以免费支持,所以很快成为互联网通用矢量格式。
svg 后缀名与常见图片后缀对比表
| 对比项目 | svg 后缀名 | png | jpg |
|---|---|---|---|
| 类型 | 矢量图 | 位图 | 位图 |
| 放大效果 | 无限放大不失真 | 放大出现锯齿模糊 | 放大出现锯齿模糊 |
| 存储内容 | 路径代码指令 | 像素点阵 | 像素点阵压缩数据 |
| 文件大小 | 简单图形体积很小 | 中等 | 照片压缩体积小 |
| 透明通道 | 支持透明 | 支持透明 | 不支持透明 |
| 可编辑性 | 可直接修改代码 | 需要图像软件编辑 | 需要图像软件编辑 |
| 适合场景 | logo 图标矢量标识 | 网页透明素材 | 照片写实图像 |
svg 后缀名主要特点
优势清单
第一 无损缩放,大屏印刷网页高清屏都可以直接使用,不需要准备多套尺寸素材
第二 纯文本结构,可以用代码修改颜色大小,适合前端网页动态调整
第三 支持内嵌动画和交互属性,可以实现简单动态效果
第四 开放标准,免费使用,跨平台兼容,浏览器原生支持
第五 简单图形文件体积小,加载速度快
缺点清单
第一 复杂写实照片不适合,海量路径会让 svg 后缀名文件变得臃肿
第二 部分老旧软件对 svg 后缀名支持不完善,打开会出现渲染异常
第三 不适合处理大量像素级纹理,精细光影表现弱于位图
第四 打开渲染需要计算,超复杂 svg 在低配设备上可能出现卡顿
svg 后缀名打开编辑转换操作步骤
第一步打开方式,现代主流浏览器比如 chrome edge 可以直接双击打开 svg 后缀名文件,也可以用记事本 vscode 这类文本编辑器打开查看源码
第二步编辑操作,可以使用专业矢量软件,例如 inkscape adobe illustrator,直接修改图形形状颜色,也可以手动修改 xml 代码调整参数
第三步格式转换,如果需要把 svg 后缀名导出成 png jpg 位图,在矢量软件里面选择导出,设置目标分辨率,就可以生成位图文件
第四步反向转换,位图转 svg 后缀名,使用描摹功能,把像素图像自动识别成矢量路径,这个过程叫做矢量化,转换之后依然会有路径精度损失
第五步网页嵌入,前端代码可以直接引用 svg 后缀名文件,也可以把 svg 代码内嵌到 html 页面里面
svg 后缀名常见应用场景
网页 UI 图标,网站导航图标按钮图标,在高分屏不会模糊
品牌 logo,企业标志印刷名片展板,不同尺寸复用同一个 svg 后缀名文件
印刷制版,矢量标识切割雕刻,激光切割标牌
动态图形,带简单动画的图标交互元素
程序界面素材,软件 APP 图标资源
【常见问题】
问题 1 svg 后缀名文件放大为什么不会模糊
回答 1 svg 后缀名是矢量格式,内部记录图形路径计算指令,不是固定像素,缩放的时候重新计算绘制图形,所以 svg 后缀名文件无论放大多少倍都不会出现模糊锯齿。
问题 2 svg 后缀名可以直接用记事本打开吗
回答 1 可以,svg 后缀名本身属于 xml 纯文本文件,记事本可以直接打开 svg 后缀名查看里面的代码,但是只能修改代码,不能像绘图软件那样可视化编辑图形。
问题 3 svg 后缀名和 png 哪个更适合做 logo
回答 1 优先选择 svg 后缀名,logo 经常需要不同尺寸缩放,svg 后缀名无限缩放不失真,png 是位图,放大之后画质会下降,所以 logo 素材首选 svg 后缀名格式。
问题 4 照片可以直接保存成 svg 后缀名吗
回答 1 技术上可以通过矢量化描摹把照片生成 svg 后缀名,但是照片色彩细节复杂,生成之后 svg 后缀名文件体积会很大,渲染效果不如原始 jpg,不推荐把实景照片做成 svg 后缀名。
【免责申明】
本文为 svg 后缀名格式科普内容,不同软件版本对 svg 规范支持程度存在差异,部分扩展滤镜动画特性在个别软件无法正常渲染,本文仅做技术讲解,不构成软件选型推荐。
