javascript - 如何使用javascript将 "screenshot"传单映射到base64?

标签 javascript leaflet

我有一张传单 map ,上面有一些线条和一些形状。我想单击一个按钮,允许我“截取”传单 map 中的内容并输出图像的 Base64 编码表示形式。我该如何/有办法做到这一点吗?

最佳答案

这非常复杂。首先阅读https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas 。归根结底就是创建一个 <foreignObject>里面 <svg> ,克隆其中的 DOM 的一部分 <foreignObject> ,然后创建一个Blob对于<svg> ,获取该 blob 的 URL,将其加载到 <img> ,最后访问其像素信息。

读完后,获取 <div>包含您的传单 map 并应用所描述的方法。

据我所知,目前还没有 Leaflet 插件实现此技术 - 当前的打印/屏幕截图插件使用较旧的技术。

关于javascript - 如何使用javascript将 "screenshot"传单映射到base64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37908516/

相关文章:

javascript - Angular 7 radio [attr.value] 破坏了 [ngModel] 功能

javascript - 根据 Name 属性的值更改背景颜色

Javascript 不会在最近的项目上更新 DOM

javascript - 是否可以从脚本中检索 Javascript 变量以在 R 中使用它

javascript - Leaflet foreach功能自动触发鼠标悬停功能

javascript - 请关注我的初学者 javaScript

javascript - 如何将具有相同输入名称的一组输入框打印到div onKeyUP中

javascript - 将(旋转的)ImageOverlay 内的 X 和 Y 坐标转换为纬度和经度

javascript - 传单将坐标转换为街道地址

r - 如何将传单等值线图中的 NA 值更改为 NULL?