理解并解决“SVG内含大图片不支持”错误
本文介绍了从 Figma 等应用程序导入 SVG 图像时出现的错误:“不支持包含大尺寸图像的 SVG”。这些图像可能包含以 JPG 或 PNG 格式嵌入到 SVG 文件中的图片,占用更多存储空间,并可能超出 Framer 支持的大小限制。
有时,在 Framer 中上传 SVG 图像时,您可能会看到如下错误:
内部包含大型位图图像(约 XXX KB)的 SVG 不受支持。
这意味着什么
当您从其他应用(例如 Figma)导出 SVG 图像时,该图像有时可能包含 JPG 或 PNG 格式的图片。例如,如果您从 Figma 导出的图形中包含照片或截图,则会发生这种情况:

将此卡片导出为 SVG(例如作为 CTA 插图)会将这两张照片都包含在 SVG 内部。可从此处 获取 SaaS 套件。
像照片或截图这样的位图图像无法原生转换为 SVG 格式。因此,它们会以其原始大小直接嵌入 SVG 文件中。更糟糕的是,嵌入过程实际上会使图像增大约 33%——因此一张 100 KB 的照片在 SVG 文件中将占用约 133 KB。
Framer 支持包含位图图像的 SVG,但仅限于一定大小阈值以内。如果您上传的 SVG 中包含超过此阈值的图像,就会出现此错误。
如何解决
选项 A:缩小图像并重新上传至 Figma
这是最简单的选项。
以 2× 或 3× 分辨率将图形中的位图部分导出为 JPG 或 PNG:

使用图像压缩工具(如 tinyjpg.com)压缩导出的图像。
将压缩后的图像重新上传到相同位置:

现在,将整个图形导出为 SVG。它应该小得多,并且很可能可以顺利上传到 Framer。
如果此选项无效,请考虑选项 B 和 C。
选项 B:分别导出 SVG 和 JPG/PNG 部分
这是次优选择,可让您保持 SVG 图像在所有屏幕尺寸上的清晰度,并确保网站性能良好。但需要多一些操作。
导出不含位图图像的 SVG 图形——例如,先移除图像:

将图形中的位图部分导出为 JPG 或 PNG:

请勿手动调整或优化这些图像。Framer 会处理这些操作。
将 SVG 图形和 PNG 图像都上传到 Framer,并按原始文件中的位置进行排列:

选项 C:将整个图形导出为 PNG
此选项意味着最终图像不会那么清晰,并且可能比选项 B 或选项 C 中的图像更大。
以 PNG 格式导出整个图形:

请勿手动调整或优化此图像。Framer 会处理这些操作。
将生成的 PNG 图像上传到 Framer:
