superMap开源框架 使用Cesium实现截图

通过监听事件监听截图按钮,根据我的代码或者查看开源代码进行使用或修改!

data(){
    return{
      url:'',
      viewer:window.viewer,
      scene:viewer.scene,     
  }
},
methods: {
    // 截图
    screenshotClick() {
        var promise = this.scene.outputSceneToFile();
        Cesium.when(
          promise,
          (base64data)=> {
            this.download(base64data);
          }
        );
    },
    /**
     * 根据图片生成画布
     */
    convertImageToCanvas(image) {
      var canvas = document.createElement("canvas");
      canvas.width = image.width;
      canvas.height = image.height;
      canvas.getContext("2d").drawImage(image, 0, 0);
      return canvas;
    },
    /**
     * 下载图片
     */
    download(base64data) {
      var image = new Image();
      image.src = base64data;
      console.log(image.src,'image');
      image.onload = ()=> {
        var canvas = this.convertImageToCanvas(image);
        this.url = canvas.toDataURL("image/jpeg");
        var a = document.createElement("a");
        var event = new MouseEvent("click");
        a.download = new Date().getTime() + ".jpg"; // 指定下载图片的名称
        a.href = this.url;
        a.dispatchEvent(event); // 触发超链接的点击事件
      };
    },
}

希望可以对老铁们有所帮助! 

开源地址:https://iserver.supermap.io/iserver/iClient/for3D/webgl/zh/examples/webgl/editor.html#outputScene

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值