项目场景:

可视化项目,模仿微信、QQ截屏,并且自动上传图片功能


问题描述

1、利用vue-web-screen-shot插件实现截屏功能
2、当截取有百度地图的区域时,地图上的覆盖物可以获取到,底图却消失不见了

原因分析:

vue-web-screen-shot 插件底层运用的技术是html2canvas
百度地图底图无法获取应该是html2canvas 对webgl不兼容


解决方案:

百度地图初始化以后,加入如下代码:
在这里插入图片描述

// 解决html2canvas截图空白问题
  HTMLCanvasElement.prototype.getContext = function (origFn) {
    return function (type, attributes) {
      if (type === 'webgl') {
        attributes = Object.assign({}, attributes, {
          preserveDrawingBuffer: true,
        });
      }
      return origFn.call(this, type, attributes);
    };
  }(HTMLCanvasElement.prototype.getContext);
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐