我有一个在地图应用程序中使用 SVG/VML(通过 Raphael JS)设置的网站,其中 SVG 用于在背景地图图像上显示图形。这在屏幕上非常有效,并且可以打印带有叠加层的硬拷贝地图。然而,当用户想要将带有 SVG 叠加层的地图图像保存到本地 .JPG 文件时,此设置就会失效。
更具体地说,当图像顶部有 SVG/VML 元素时,使用大多数浏览器的标准右键单击功能“将图像另存为...”将不起作用。右键单击地图,用户可以保存地图图像,但不保存叠加层。右键单击覆盖的 SVG 元素,用户获得的最佳结果是能够检查该元素或保存一些 HTML(具体情况因浏览器而异)。
所以我的主要问题是;是否可以获取一张图像和一个 SVG 元素并将它们(最好是客户端,尽管我愿意接受选项)组合成一个“扁平化”图像、.JPG、.PNG 或其他格式,然后可以右键单击该图像并根据要求保存或下载到用户的 PC?
您需要做的是,不要覆盖 JPG 和 SVG:
- 获取原始图像
- 在内存中在其上绘制 SVG 文件中的线条
- 将该单个图像作为 JPG 输出到浏览器。
这当然意味着您必须能够解释 SVG...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)