不是在主页面做的,而是在单独的路由里,通过监听事件来监听截图按钮,根据我的代码使用或者修改或者查看开源代码!现在在数据中定义一个全局查看器以供使用!因为需要声明一个globalviewer;data(){return{url:'',viewer:window.viewer,scene:viewer.scene,}},通过监听事件获得;方法:{//截图screenshotClick(){varpromise=this.scene.outputSceneToFile();Cesium.when(promise,(base64data)=>{this.download(base64data);});},/***根据图像生成画布*/convertImageToCanvas(image){varcanvas=document.createElement("canvas");canvas.width=image.width;canvas.height=image.height;canvas.getContext("2d").drawImage(图像,0,0);返回画布;},/***下载图片*/download(base64data){varimage=newImage();image.src=base64data;console.log(image.src,'image');image.onload=()=>{varcanvas=this.convertImageToCanvas(image);this.url=canvas.toDataURL("图片/jpeg");//生成完整的base64图片编码vara=document.createElement("a");varevent=newMouseEvent("click");a.download=newDate().getTime()+".jpg";//指定下载图片的名称a.href=this.url;a.dispatchEvent(event);//触发超链接的点击事件};},}整个过程是这样的!我不什么都不懂可以参考官网:http://support.supermap.com.c...
