装着图片的 SVG 到底是什么
SVG 文档是文本文件,装图片的元素是 `<image>`。它不指向别处的文件,而指向一个 `data:` URL——你的图片,base64 编码后以文本写进文档里。这就是文件能自包含的原因:发给别人时图片跟着一起走,没有文件夹、没有失效链接、没有坏缩略图。
两个属性决定几何关系,各司其职。`viewBox` 是图片自己的像素网格——“这张图是 4000 × 3000 个单位”;`width`、`height` 是这个文件声明自己有多大。声明成 210 mm 而 viewBox 说 4000 像素并不矛盾:这正是矢量容器的意义,两者之间的比例就是图片自身的比例,所以任何情况下都不会被拉伸。
文件能在所有浏览器、Illustrator、Inkscape、Affinity、Word、PowerPoint,以及那些要求 SVG 的上传系统里打开——因为它是一个有效的 SVG 文档,而不是仿制品。它对打开它的程序只有一个要求:看懂里面装的是什么格式。JPEG 和 PNG 是通用的,而 SVG 里装 BMP 或 AVIF 就不是每个编辑器都读得懂。这正是本页面可以在导入时把图片重新编码成 PNG 或 JPEG 的全部原因。