html2canvas截取专题图(包含地图)
html2canvas截取专题图(包含地图)
问题:html2canvas截取地图时地图空白,报错: Unable to clone WebGL context as it has preserveDrawingBuffer=false
一、情况介绍:
使用如下代码进行截图时,出现地图空白情况,报错: Unable to clone WebGL context as it has preserveDrawingBuffer=false ,地图使用的框架为mapbox
const exportSave = async () => {
const element = document.getElementById('mapCanvasId');
const options = { scale: 2, backgroundColor: null, }
html2canvas(element, options).then((canvas) => {
const png = canvas.toDataURL("image/png"); // 拿到截图后转换为png图片
// 下载
down(png, '我的制图')
});
}
const down = function (url, name) {
// 创建a标签
const vectorDom = document.createElement('a')
vectorDom.href = url
vectorDom.download = name ? name : url.split(/[//]/).pop()
// console.log(name)
// 不显示a标签
vectorDom.setAttribute('display', 'none')
document.body.appendChild(vectorDom)
vectorDom.click()
setTimeout(() => {
document.body.removeChild(vectorDom)
}, 500)
}
二、解决办法:
在地图初始化时添加添加如下代码:
preserveDrawingBuffer: true
结果效果如下:
html2canvas截取专题图(包含地图)的更多相关文章
- Mapgis地图颜色配置(专题图配置)----对比Arcgis根据属性配置图斑颜色
对于大多数arcgis用户来说,根据属性配置图斑颜色对于大家来说应该并不陌生.本文将就arcgis图斑颜色设置与mapgis做出比对,为大家提供更为绚丽的地图配色. Arcgis颜色配置方案 右 ...
- arcpy.mapping实战-专题图制图自动化
arcpy.mapping实战-专题图制图自动化 by 李远祥 最初对arcpy.mapping感兴趣是因为一次大规模的专题地图调整的需要,由于某某单位利用ArcEngine编写的专题图出图系统,出现 ...
- [转] AE之分级颜色专题图渲染
原文 AE之分级颜色专题图渲染 参考代码1 private void 分级渲染ToolStripMenuItem_Click(object sender, EventArgs e) { //值分级 I ...
- supermap iclient for js 标签专题图(服务端)
<!DOCTYPE><html> <head> <meta http-equiv="Content-Type" content=" ...
- PDF截取矢量图
PDF截取矢量图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 方法与步骤 下载并安装 Adobe Acrobat X Pro 软件 点击右侧按钮(工具)-页面-裁剪-单击并选择区域-双击实 ...
- Supermap 组合单值专题图与标签专题图演示样例
效果图例如以下:单值专题图并显示每一个区域的相关文字信息 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29uZ2hmdQ==/font/5a6L5L2T ...
- html2canvas截取屏幕的方法
html2canvas截取屏幕的方法 需要放在服务上运行,否则会报错, 放在服务器里,完美运行 处理截屏模糊的方法 html2canvas 0.5.0-beta3解决截图模糊问题 需要引入html2 ...
- PIE SDK专题制图下地图的的操作
1. 功能简介 制图模式和地图模式下用的地图是同一份地图,那么在制图模式下如果需要对地图进行操作(例如地图的拉框放大,缩小),那么该如何操作呢,地图范围视图变化在制图模式下该如何监听呢,下面主要 ...
- D3.js系列——布局:打包图和地图
一.打包图 打包图( Pack ),用于表示包含与被包含的关系,也可表示各对象的权重,通常用一圆套一圆来表示前者,用圆的大小来表示后者. 1.布局(数据转换) var pack = d3.layout ...
- 一个操作轻松截取长图,Win10上网截长图小技巧!
截屏的方法有很多,但是有时候我们会遇到比电脑屏幕还大的图,比如网站上的长图.N条引用的评论...你要怎么截取呢?是不是最多只能截全屏?还是要做到第三方的截图软件呢? 下面介绍一种win10电脑自带的滚 ...
随机推荐
- NOIP模拟64
T1 三元组 解题思路 一看题面,好像是一道数学题,但不完全是,或者说根本不是... 比较好想到的是 \(\mathcal{O}(n^2)\) 和 \(\mathcal{O}(nk)\) 的做法,然后 ...
- DevOps全面综述:从概念到实践
这篇文章详尽介绍了DevOps的背景.核心实践.工具和技术,探讨了团队协作.文化建设及组织变革,旨在帮助企业高效实现持续交付和创新. 关注作者,分享互联网架构.云服务技术的全维度知识.作者拥有10+年 ...
- kooder安装及本地搜索git仓库代码
kooder安装及本地搜索git仓库代码 需求背景:如果需要从Git代码仓库查询某个配置项做批量的更新替换,如果一个一个找不合适且容易遗漏,需要借助第三方工具来模糊查询来实现. 1.下载及文档地址ht ...
- idea为什么提示:Duplicated code fragment (**lines long)
idea为什么提示:Duplicated code fragment (**lines long) 原因是有相同的代码块在类里,可以把这部分代码封装成一个方法,提高代码可读性.
- 通俗理解GAN -- 基础认知
Smiling & Weeping ---- 你已春风摇曳,我仍一身旧雪 1.GAN的基本思想 GAN全称对抗生成网络,顾名思义是生成模型的一种,而他的训练则是一种对抗博弈状态中的.下面我们举 ...
- C#开发的NoteNet桌面小贴士 - 开源研究系列文章 - 个人小作品
十多年前编写过这个NoteNet小应用,不过当时用的是文本的保存方式,而且功能上也相对较多.这次重新编写这个小应用,用上新的技术和功能.现在先把源码发布出来,在另个系列的博文中( C#基于.net f ...
- CLR via C# 笔记 -- 特性(18)
1. 特性继承自System.Attribute,能作用于TypeDef(类.结构.枚举.接口和委托),MethodDef(含构造器),ParamDef,FieldDef,PropertyDef,Ev ...
- 英特尔 Gaudi 加速辅助生成
随着模型规模的增长,生成式人工智能的实现需要大量的推理资源.这不仅增加了每次生成的成本,而且还增加了用于满足此类请求的功耗.因此,文本生成的推理优化对于降低延迟.基础设施成本以及功耗都至关重要,其可以 ...
- C语言:if(0)之后的语句真的不会执行吗?
C语言--if(0)之后的语句真的不会执行吗? 原文(有删改):https://www.cnblogs.com/CodeWorkerLiMing/p/14726960.html 前言 学过c语言的都知 ...
- Freertos学习:06-任务通知
--- title: rtos-freertos-06-task-notify date: 2020-06-22 15:49:29 categories: tags: - ipc - freertos ...