首页 > 其他分享 >Cesium结合html2canvas进行截图

Cesium结合html2canvas进行截图

时间:2025-01-16 14:57:17浏览次数:3  
标签:控件 截图 false canvas html2canvas link Cesium true

按照html2canvas正常操作是可以进行截图操作的,但是发现没有截取到地球,发现cesium内也需要进行设置
需要先安装html2canvas 引入
cesium创建视图时也需要添加对应参数preserveDrawingBuffer
上代码!!

 const viewer = new Cesium.Viewer("cesiumContainer", {
    contextOptions: {
      requestWebgl2: true,
      // Cesium状态下允许canvas转图片convertToImage
      webgl: {
        preserveDrawingBuffer: true,
      },
      webgl2: true,
    },
    vrButton: true,
    animation: false, //是否显示动画控件
    baseLayerPicker: false, //是否显示图层选择控件
    geocoder: false, //是否显示地名查找控件
    timeline: false, //是否显示时间线控件
    sceneModePicker: false, //是否显示投影方式控件
    navigationHelpButton: false, //是否显示帮助信息控件
    fullscreenButton: false, //是否显示全屏按钮
    infoBox: false, //是否显示点击要素之后显示的信息
    homeButton: false, //是否显示Home按钮
    selectionIndicator: false,
    terrainProvider: Cesium.createWorldTerrain({
      requestWaterMask: true, //水面特效
  });
  setTimeout(() => {
    let canvasElement = document.getElementById("cesiumContainer");
    // 转换为图片进行输出
    let opts = {
      useCORS: true, // 【重要】开启跨域配置
      allowTaint: true,
    };
    html2canvas(canvasElement, opts).then(function (canvas) {
      var link = document.createElement("a");
      link.setAttribute("download", "map.png");
      if (canvas.toBlob) {
        canvas.toBlob(function (blob) {
          link.href = URL.createObjectURL(blob);
          link.click();
        });
      } else {
        var dataUrl = canvas.toDataURL("image/jpeg", 1.0);
        link.href = dataUrl;
        link.click();
      }
    });
  }, 3000);

标签:控件,截图,false,canvas,html2canvas,link,Cesium,true
From: https://blog.csdn.net/qq_43523901/article/details/145181754

相关文章

  • 超好用截图软件Snipaste
    Snipaste是一款简洁而功能强大的截图软件,它不仅支持截图,还能将截图贴在屏幕上,也就是将图片固定在屏幕上,可以多张截图固定在屏幕上。此外,它还能将剪贴板中的文字或颜色信息转换为图片窗口,并对这些窗口进行缩放、旋转、翻转、设置半透明度等操作,甚至能让鼠标穿透它们。对于程序员......
  • 【WPF】使用RenderTargetBitmap截图的时候位置出现偏移的一些解决办法
    简介在WPF中,如果你需要把控件的渲染画面保存到图片,那么唯一的选择就是RenderTargetBitmap。不过,RenderTargetBitmap是个比较难伺候的主,有时候你以为能工作,但实际上不能;你以为能够正常截图,但实际上截出来的图片是歪的。所以,我总结一下自己项目中遇到的坑和解决办法吧!保存的图片......
  • 解决htmlcanvas遇到图片较多的复杂首页,保存截图特别慢的问题
    先说问题:在首页新增个保存部分dom截图的功能,但首页加载接口较多,图片跨域加载比较慢,而htmlcanvas保存截图前会将整个页面渲染一遍,这就导致有些图片没加载完成,dom渲染不然,canvas保存就会延迟四五秒之久 解决方法:增加这个参数ignoreElements:function(element){......
  • 使用html2canvas插件生成图片时,图片底部有一条白线的问题
    在使用html2canvas插件把页面生成图片时,如果背景不是白色的,会发现生成图片的底部会有一条白线。可能是由于像素渲染问题导致的。移动设备的屏幕像素密度(PixelDensity)较高,有时会导致在两个相邻元素之间出现细小的间隙或白线。解决方法将canvas画布高度调小1像素,生成图片之前先......
  • Cesium小知识:粒子系统的参数详解
    Cesium的粒子系统通过ParticleSystem类提供了一套丰富的参数来控制粒子的生成、行为和外观。以下是这些参数的详细说明,帮助你更好地理解和使用Cesium的粒子系统。基本参数image(String)-粒子图像的URL路径。这个图像是每个粒子在渲染时使用的纹理。startCol......
  • 使用html2canvas生成图片时遇到文字重叠问题
    在使用html2canvas.js插件生成图片时,如果文字中有特殊符合时,生成的图片会出现文字重叠的问题,例如这样。 后面发现是换行时英文特殊标点占位与文字占位不同导致该问题。 解决方法:为特殊字符添加【letter-spacing:1px;】css。如果把全部文字都加letter-spacing:1px;会显得......
  • AI磁力聚星提现生成器小游戏提现截图带动态带音效辅助的自定义提现截图生成工具技术研
    AI辅助的自定义提现截图生成工具技术文献本文介绍了一种基于人工智能技术的自定义提现截图生成工具,该工具旨在为用户提供一种便捷、高效的方式来生成磁力小游戏提现截图。通过该工具,用户可以自定义截图内容,包括金额、时间等关键信息,并支持录屏功能,以满足用户在社交媒体分享时......
  • cesium小知识:PostProcess(后处理)详解及示例
    Cesium的PostProcess(后处理)功能允许开发者在场景渲染完成后对图像进行额外的处理,以实现各种视觉效果。通过后处理,可以添加诸如抗锯齿、景深、辉光、色调映射等特效,从而增强最终图像的质量和视觉吸引力。以下是关于Cesium后处理的更详细说明:1.PostProcessStagePostP......
  • 078:vue+cesium 设置开始结束时间,循环自动播放
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第078篇文章文章目录一......
  • C#根据传入的id截图生成附件、根据id生成下载链接、根据链接下载附件
    usingMicrosoft.Ajax.Utilities;usingNewtonsoft.Json;usingNewtonsoft.Json.Linq;usingPuppeteerSharp;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Data.SqlTypes;......