在cesium中导出图片
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>导出图片</title>
<script src="/static/Cesium/Cesium.js"></script>
<link rel="stylesheet" href="/static/Cesium/Widgets/widgets.css"> <style>
html,
body,
#csiumContain {
width: 100%;
height: 100%;
margin: 0px;
} .cesium-widget-credits {
display: none !important;
/*去除Cesium默认版权信息*/
} .tool-bar {
position: absolute;
top: 1vh;
left: 2vw;
z-index: 999999;
} .cesium-viewer-infoBoxContainer {
display: none !important;
}
</style> </head> <body> <div id="toolbar" class="param-container tool-bar layui-form-item"> <button onclick="saveToFile()">场景出图</button>
</div>
<div id="csiumContain"></div> </body> <script> Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(90, -20, 110, 90);
var viewer = new Cesium.Viewer("csiumContain", {
homeButton: false,//是否显示Home按钮
animation: false,//是否显示动画控件
timeline: false,//是否显示时间线控件
fullscreenButton: false,
baseLayerPicker: false,//是否显示图层选择控件
sceneModePicker: true, //是否显示投影方式控件
navigationHelpButton: false, //是否显示帮助信息控件
geocoder: false, //是否显示地名查找控件
sceneModePicker: false,//是否显示3D/2D选择器
contextOptions: {
webgl: {
alpha: true,
depth: true,
stencil: true,
antialias: true,
premultipliedAlpha: true,
//通过canvas.toDataURL()实现截图需要将该项设置为true
preserveDrawingBuffer: true,
failIfMajorPerformanceCaveat: true
}
} }) function saveToFile() {
let canvas = viewer.scene.canvas;
let image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); let link = document.createElement("a");
let blob = dataURLtoBlob(image);
let objurl = URL.createObjectURL(blob);
link.download = "scene.png";
link.href = objurl;
link.click();
} function dataURLtoBlob(dataurl) {
let arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
}
</script> </html>
点击按钮即可按照浏览器的下载路径保存
在cesium中导出图片的更多相关文章
- 从sql中image类型字段中导出图片
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 从word中导出图片
想把word里面的图片导出来,可以这么操作: 1.右键word里面的图片,复制 2.打开电脑的画图工具,粘贴,然后保存
- Excel催化剂开源第45波-按原图大小导出图片
从Excel中导出图片,是一个很常规的需求,也有一些久旧不衰的界面操作法小技巧从OpenXml文件中批量导出,在VBA开发中,也会使用Chart对象的背景图的技巧来导出.总体来说,和真正想要的效果还是 ...
- 如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)
如何将Matlab中"模糊控制设计器"的隶属度函数导出图片(figure)详情参考matlab官方帮助手册:plotmf()函数https://www.mathworks.com/ ...
- 【.net 深呼吸】导出 Office 文档中的图片
我们常用的 Office 文档其实就三种——Word.Excel.PowerPoint,分别对应的扩展名为:.docx..pptx..xlsx. 许多教程都告诉我们,要提取这些文件中的图片(其实像视频 ...
- C#向PPT文档插入图片以及导出图片
PowerPoint演示文稿是我们日常工作中常用的办公软件之一,而图片则是PowerPoint文档的重要组成部分,那么如何向幻灯片插入图片以及导出图片呢?本文我将给大家分享如何使用一个免费版Power ...
- .net 下新版highcharts本地导出图片bug处理
最近公司要用到highcharts这个插件来生成图表,所以我花了点时间研究了下. 现在最新的版本是3.0.2,这js插件居多优点就不比多说了,demo官网上也很详细.但是优点不爽的地方是,导出图片这个 ...
- Asp.net通过模板(.dot/Html)导出Word,同时导出图片
一.Office组件导出Word(服务器配置麻烦) 需要引用Office的DLL,在下文的附件中,不同的Offic版本用的不一样,虽然高级版本可以兼容低级的,不过,还是统一版本最好 贴上核心代码(转载 ...
- java POI实现向Excel中插入图片
做Web开发免不了要与Excel打交道.今天老大给我一个任务-导出Excel.开始想的还是蛮简单的,无非就是查找,构建Excel,response下载即可.但是有一点不同,就是要加入图片, ...
- FusionCharts V3图表导出图片和PDF属性说明(转)
百闻不如一见,狠狠点击,快快下载:(演示文档有错误,不提供下载了.待新的演示文档出来.) 许多朋友说上面的DEMO用不了.fusioncharts官方的演示非常不错,就是来不及整理,各位大侠们可以研究 ...
随机推荐
- 深入理解webpack的chunkId对线上缓存的思考(转载)
转载自https://juejin.cn/post/6844903924818771981#heading-6 作者:Kimm 想必经常使用基于webpack打包工具的框架的同学们,无论是使用Rea ...
- CSS3实现图片滚动
body{ margin: 0; padding: 0px; } #banner{ margin:20px auto; width: 600px; position: relative; overfl ...
- 2021-12-14 MobX分享
MobX分享 文档地址: https://cn.mobx.js.org/ MobX是一种简单的.可扩展的状态管理,它通过透明的函数响应式编程使得状态管理变得简单和可扩展. React通过提供机制把应用 ...
- Java中保留两位小数之format
String.format仅限double类型可用 int类型会报错 double d1 = 6.6666;System.out.println(String.format("%.2f&qu ...
- Drift Programming | 漂移编程 | 哲学编程 | 架构设计 | TDD |DDD |Microservice
- element-ui学习之-------input表单验证【各种情况总结】
1.非必填,正整数 2.非0开头正整数
- 关于WPF的圆角
失败案例 <Border CornerRadius="3" Width="100" Height="100"> <Stac ...
- 》》》Java利用aspose-words将word文档转换成pdf(破解 无水印)
参考转载:Java利用aspose-words将word文档转换成pdf(破解 无水印) (bbsmax.com) 1.引入 aspose.words 包2.添加解水印 license.xml3.写业 ...
- System.Diagnostics.Process.Start(); 用法详解
来源:https://news.68idc.cn/buildlang/ask/20150104156981.html 实例代码:http://www.cppcns.com/ruanjian/cshar ...
- 解决habbybase 操作hbase报错TTransportException(type=4,message=’TSocket read 0 bytes)
1.确认集群的协议是否一致,在连接的时候,改成一致的.例如集群配置的是TFramedTransport,TCompactProtocol 时 改成 connection = happybase.Con ...