图片·设计发布日期 阅读时间约 6 分钟

SVG 是什么|与 PNG、JPEG 的区别,以及打不开时的转换方法

收到的标志是 SVG 文件,想放进文档里却插入不了。SVG 是放大也不会失真的便利格式,但能用的地方有限。本文整理了 SVG 与 PNG、JPEG 的区别,SVG 适合与不适合的用途,以及打不开时转换成 PNG 的步骤。

SVG 与 PNG、JPEG 有什么不同

PNG 和 JPEG 把有颜色的点(像素)排成网格来记录图像,这叫位图(栅格)格式。而 SVG 是用文字记录“在这个位置、用这个颜色画一个半径 50 的圆”这样的绘图指令。显示时读取指令重新绘制,所以无论放大多少倍,轮廓都不会模糊。

SVGPNGJPEG
内容绘制图形的指令(文本)像素的集合像素的集合
放大放大多少倍都不失真变粗糙变粗糙
擅长的图标志、图标、图表带文字的图片、透明照片
不擅长的图照片、复杂的渐变照片(文件会变大)透明、细线
透明可以可以不可以
编辑文本编辑器也能编辑图像编辑软件图像编辑软件

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. 1

    确认 SVG 是否写了宽和高

    用文本编辑器打开,看开头的 <svg> 标签里有没有 width 和 height。没有的话就补上,或按 viewBox 的比例指定。没有指定尺寸的 SVG,转换时可能按默认尺寸处理而导出得很小。

  2. 2

    确定需要的成品尺寸

    网页用就取显示宽度的 2 倍,印刷用就根据所需的像素数倒推。先把 SVG 的 width、height 改成目标尺寸再转换,就能得到该尺寸的 PNG。

  3. 3

    拖进转换工具

    把 SVG 载入图片格式转换工具,输出格式选择 PNG。处理全部在浏览器内完成,图片不会发送到服务器。

  4. 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 时,向制作方索取原始数据最可靠。

本文介绍的工具

相关文章