SVG 指南¶
SVG 用作图像的优缺点¶
当用作文档格式时,通常有一个令人信服的理由使 SVG 成为唯一的解决方案。当用作图像格式时,有时不太清楚对于任何给定的图像,使用 SVG 还是光栅图像格式是最佳选择。矢量格式 SVG 和光栅格式(如 PNG)都有其应用场景。在选择是否使用 SVG 时,最好了解两者的优缺点。
- 文件大小
对于给定的图像,SVG 或光栅格式是否会生成更小的文件很大程度上取决于图像本身。例如,考虑一个带有渐变填充的路径图像。此图像的 SVG 大小与图像尺寸无关。另一方面,相同图像的光栅文件大小可能会根据图像尺寸而发生巨大变化,因为尺寸越大,文件需要存储的像素数据就越多。在非常小的尺寸(极端情况为 1px x 1px)下,光栅文件可能比 SVG 文件小得多,因为它只需要存储一个像素的数据。在较大的尺寸下,光栅文件可能比 SVG 文件大得多。
- 可伸缩性,带有一些注意事项
SVG 的主要优点之一是,在缩放时不会出现像素化。但是,这并不是说它总是可以避免为不同比例的显示提供一系列光栅图像。这对于图标尤其如此。虽然 SVG 对于没有太多细节的扁平化图标可能缩放效果很好,但对于试图包含大量细节的图标,图形艺术家通常希望能够进行像素调整。
- 性能
虽然 SVG 在缩放、主题化等方面提供了很大的灵活性,但这种灵活性依赖于在显示 SVG 图像时进行计算,而不是在作者创建它们时进行计算。考虑一个包含一些复杂渐变和滤镜的图像。如果将其保存为光栅图像,则光栅化渐变和滤镜的工作将在作者的计算机上完成,然后将结果存储在光栅文件中。在其他人电脑上显示图像时,不需要重新执行此工作。另一方面,如果图像保存为 SVG 图像,则每次在其他人电脑上显示 SVG 时都需要执行所有这些工作。这并不是说 SVG 图像总是比光栅等效图像慢。事实上,从 SVG 发送矢量信息到用户的 GPU 比从等效的光栅图像中提取光栅数据更快。即使 SVG 图像比光栅等效图像慢,差异通常也不明显。但是,不要陷入 SVG 比等效的光栅图像快,反之亦然的误区。“视情况而定”。