SVG 是什么|与 PNG、JPEG 的区别,以及打不开时的转换方法
收到的标志是 SVG 文件,想放进文档里却插入不了。SVG 是放大也不会失真的便利格式,但能用的地方有限。本文整理了 SVG 与 PNG、JPEG 的区别,SVG 适合与不适合的用途,以及打不开时转换成 PNG 的步骤。
SVG 与 PNG、JPEG 有什么不同
PNG 和 JPEG 把有颜色的点(像素)排成网格来记录图像,这叫位图(栅格)格式。而 SVG 是用文字记录“在这个位置、用这个颜色画一个半径 50 的圆”这样的绘图指令。显示时读取指令重新绘制,所以无论放大多少倍,轮廓都不会模糊。
| SVG | PNG | JPEG | |
|---|---|---|---|
| 内容 | 绘制图形的指令(文本) | 像素的集合 | 像素的集合 |
| 放大 | 放大多少倍都不失真 | 变粗糙 | 变粗糙 |
| 擅长的图 | 标志、图标、图表 | 带文字的图片、透明 | 照片 |
| 不擅长的图 | 照片、复杂的渐变 | 照片(文件会变大) | 透明、细线 |
| 透明 | 可以 | 可以 | 不可以 |
| 编辑 | 文本编辑器也能编辑 | 图像编辑软件 | 图像编辑软件 |
SVG 的内容是 XML 文本,用记事本打开会看到一排排标签。这就是“SVG 用记事本打开像乱码”的原因,文件并没有损坏。位图格式之间的区别请看PNG、JPEG、WebP 的区别与选用。
SVG 能用和不能用的场合
大多数问题都源于“对方不支持 SVG”。事先了解支持情况,就能在发出前判断是否需要转换。
| 使用场合 | SVG | 补充 |
|---|---|---|
| 网站、浏览器显示 | 支持 | 标志和图标的标准选择 |
| 网站图标(favicon) | 基本支持 | 为不支持的环境同时放 ICO 或 PNG |
| Word、PowerPoint | 支持 | 较新的版本,可转换为形状并改颜色 |
| Google 文档、幻灯片 | 多数不支持 | 转换成 PNG 后再插入 |
| 社交媒体头像、发帖图片 | 不支持 | 导出为 PNG 或 JPEG |
| 二手交易、招聘等网站的上传表单 | 容易被拒 | 被文件类型限制拦下 |
| 交给印刷厂 | 看要求 | 常被要求 PDF 或 AI 格式 |
| 邮件附件、聊天 | 可能无法显示 | 没有预览,只能下载 |
上传表单拒收 SVG,不是因为大小或外观,而是出于安全考虑。SVG 是文本,里面可以写入脚本,如果在接收方的网站上运行就会出问题,所以很多服务事先禁止上传 SVG。即使是自己做的 SVG 也一样,所以用于上传时,一开始就准备好 PNG 更省事。相反,像即时贴切割、激光雕刻这样导入加工设备的用途,SVG 更合适。以家纹为例的加工前注意事项,整理在家纹的 SVG、透明 PNG 数据制作方法中。
把 SVG 转换成 PNG、JPEG 的步骤
SVG 放大不失真,所以转换成 PNG 时,需要自己决定“导出多大尺寸”。这是与 PNG 之间互相转换最大的不同。
- 1
确认 SVG 是否写了宽和高
用文本编辑器打开,看开头的 <svg> 标签里有没有 width 和 height。没有的话就补上,或按 viewBox 的比例指定。没有指定尺寸的 SVG,转换时可能按默认尺寸处理而导出得很小。
- 2
确定需要的成品尺寸
网页用就取显示宽度的 2 倍,印刷用就根据所需的像素数倒推。先把 SVG 的 width、height 改成目标尺寸再转换,就能得到该尺寸的 PNG。
- 3
拖进转换工具
把 SVG 载入图片格式转换工具,输出格式选择 PNG。处理全部在浏览器内完成,图片不会发送到服务器。
- 4
决定背景的处理方式
PNG 会保留透明背景。JPEG 无法保存透明,透明部分会被填成白色。放在白色背景上会出问题的素材,请保持 PNG 格式使用。
打不开、显示错乱时的排查
SVG 的问题分为“打不开”和“能打开但显示不对”两类。从症状缩小原因范围,就能确定修复方法。
| 症状 | 常见原因 | 处理 |
|---|---|---|
| 双击打开的是代码 | 默认程序是编辑器 | 拖到浏览器中打开 |
| 一片空白什么都看不到 | 图形在显示区域之外 | 检查 viewBox 的值 |
| 只有文字变成别的字体 | 设备上没有该字体 | 把文字转为轮廓(路径)后导出 |
| 只有图片部分不显示 | 引用了外部文件 | 把图片嵌入后重新导出 |
| 尺寸自己变小 | 没有指定 width、height | 在标签里补上数值 |
| 上传时被拒 | 不允许 SVG | 转换成 PNG 再上传 |
最常见的是字体问题。如果 SVG 中的文字以文字形式保存,打开的设备上没有该字体时,就会被替换成别的字体,宽度变化导致排版错乱。交给别人的 SVG,导出时先把文字转为轮廓最稳妥。更换标志时的检查项目整理在标志的更新中。
PNG 能转回 SVG 吗
结论是:无法自动转回。PNG 是像素的集合,没有留下“这里是圆”“这里是文字”这样的信息。转换软件做的是一种叫描摹的处理,推测颜色的边界并重新画出轮廓线,并不是在还原原来的图形。
- 单色、轮廓清晰的形状(剪影、简单的标记)描摹后效果还算可以。
- 带细线、渐变或阴影的标志,容易出现轮廓起伏、颜色变多等走样。
- 文字会变成路径,之后无法修改文字内容或字体。
- 以 JPEG 为源时,连压缩噪点也会被当成图形。
也就是说,如果打算长期使用某个标志,最可靠的是一开始就拿到 SVG。委托制作时,约定连同 SVG 和已导出的 PNG(大、中、小)一起交付,这样无论用在网页、资料还是社交媒体上,都不必重新制作。
常见问题
- SVG 文件怎么打开?
- 最简单的方法是拖放到浏览器里。Chrome 和 Safari 都会直接把它当作图片显示。双击打开的是代码,是因为默认程序是文本编辑器,文件并没有损坏。想编辑的话,用 Illustrator、Inkscape、Figma 等矢量编辑软件打开。交给别人时,对方的环境不一定能打开,附上 PNG 会更周到。
- SVG 和 PNG 该用哪个?
- 放在自己网站上的标志和图标用 SVG,交给别人或其他服务的图片用 PNG,这是基本原则。SVG 放大不失真,简单的图形文件也小,但社交媒体、上传表单、Google 幻灯片等地方仍然不接受。照片两者都不合适,请用 JPEG 或 WebP。拿不准时,把 SVG 当作原始数据保存,按用途分别导出 PNG,管理起来最轻松。
- 为什么打印 SVG 时文字会错位?
- SVG 中的文字以文字形式保存,而打印的设备上没有该字体时,就会被替换成别的字体。字体一变,字宽也会变,于是出现换行或超出框外。导出时把文字转为轮廓(路径),文字就会被当作图形处理,不会错乱。交给印刷厂时,对方通常会指定 PDF 或 AI 格式,请事先确认支持的格式。
- 有没有能把 PNG 转换成 SVG 的工具?
- 用描摹的方式可以做出相近的东西,但并不能还原原来的 SVG。单色剪影或简单的标记有时还能用,但含有细线、渐变或文字的标志,轮廓会变乱。另外,本站的图片格式转换工具能输出 PNG、JPEG、WebP,不支持导出 SVG。需要 SVG 时,向制作方索取原始数据最可靠。
本文介绍的工具
相关文章
如何删除照片的位置信息|查看EXIF与发社交媒体前的检查
用智能手机拍的照片里,可能记录着拍摄地点的经纬度。本文整理了照片里记录了什么、哪种发送方式会保留、以及在各种设备上查看和删除位置信息的步骤。
阅读文章 →图片分辨率和dpi的区别|网页用和印刷用需要多少像素
印刷厂说“请按350dpi交稿”,可手头的图片到底符不符合要求,却很难判断。其实,图片真正的实体只有像素数,dpi只是“把这些像素印成多大”的一个指定值。本文整理了分辨率、dpi和像素之间的关系,根据纸张尺寸计算所需像素数的方法,以及为什么网页显示与dpi无关。
阅读文章 →AVIF 是什么?与 JPEG、WebP 的区别,以及打不开时的转换方法
保存的图片扩展名是陌生的 .avif,想打开时却提示不支持。AVIF 是一种能大幅减小文件体积的新图片格式,但如果接收方的软件不支持就无法使用。本文整理 AVIF 与 JPEG、WebP 的区别,适合使用和应当避免的场景,以及打不开时的转换步骤。
阅读文章 →