html - SVG 数据 URI 不在 img 标签中呈现

标签 html image svg base64 data-uri

我有一个从 Kendo.drawing.exportSVG 获得的数据 URI Base64 编码字符串来自剑道 map 的方法。

如果我将 Base64 字符串放入 SVG 解码器,然后将生成的 SVG 保存到一个文件并在浏览器中打开它,图像显示正常,但如果我将它放入 <img>标签,什么都不显示。

Base64 字符串非常大,所以我将其放在 JsFiddle 中进行演示,而不是将其粘贴到此处。

https://jsfiddle.net/qmap5sg9/

谁能告诉我为什么图片没有加载?

最佳答案

您的数据 URL 包含大量对外部图像的引用,例如

<image preserveAspectRatio="none" x="310.15625" y="281" width="256px" height="256px" xlink:href="http://ecn.t0.tiles.virtualearth.net/tiles/r311213001300102.jpeg?g=5171&amp;mkt=en-US&amp;shading=hill" clip-path="url(#kdef7)" />

当用作图像时,在您的情况下,通过图像标记,SVG 必须包含一个文件,因此您必须将这些图像中的每一个编码为数据 URL,然后在完成后重新编码整个 SVG 文件作为数据 URL。

关于html - SVG 数据 URI 不在 img 标签中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36856689/

相关文章:

jquery - 需要绘制/动画一个小方形背景图像,然后在 x 和 y 上重复它

python - 从 matplotlib 保存 svg 时更改字体大小

javascript - D3 版本 4 中的单元测试转换

javascript - 输入隐藏和innerHTML的奇怪问题

javascript - 循环提示直到用户决定终止程序

java - 在 Java 中创建缓冲图像时数组索引越界

objective-c - 是否可以根据设置更改启动图像?

javascript - jquery 附加的 html 不起作用

javascript - 谷歌地图在 Bootstrap 模式的左上中心开始路径

image - 批量缩小 jpeg 图像的最快方法