news 2026/9/11 18:40:42

CesiumJS 导出实战手册:截图、录像、地理数据,怎么挑对输出

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CesiumJS 导出实战手册:截图、录像、地理数据,怎么挑对输出

CesiumJS 导出实战手册:截图、录像、地理数据,怎么挑对输出

【免费下载链接】cesiumAn open-source JavaScript library for world-class 3D globes and maps :earth_americas:项目地址: https://gitcode.com/GitHub_Trending/ce/cesium

把用 CesiumJS 搭好的三维地球塞进汇报、录成演示视频、或者交给别的团队继续用,导出是最后一段路。这篇文章把截图、录像、数据导出三条路径按实操讲清楚:各自什么时候用、怎么做、参数往哪调。

先看三者的横向对比:

类型典型场景输出格式上手成本
截图汇报插图、演示定格、成果存档PNG 图片调一次方法,最低
录像相机飞行、实体动画、时间动态演示WebM 视频中等,需配合浏览器录制能力
数据导出把地理实体交给其他工具KML/KMZ、CZML、GeoJSON低,有现成 API

📦 数据导出先行:三种数据格式怎么选

什么时候用:场景里的实体要拿去 Google Earth 这类工具打开,或者想把地理数据落盘归档、随时能再加载回来。

怎么做

  1. 把数据以 CZML、KML 或 GeoJSON 加载成 DataSource,三种 CesiumJS 都认识。
  2. Cesium.exportKml,把实体集传进去。
  3. kmz: true,引擎会把 KML 连同模型、纹理一起压成单个 KMZ。
  4. 用返回的 Blob 触发浏览器下载。

参数怎么调sampleDuration默认 60 秒,即时间动态属性每 60 秒采一个样本,轨迹变化快就调小;time决定"不能在 KML 里做动态"的属性取哪个时刻的值;场景里有模型时必须提供modelCallback,声明要内嵌哪些文件。格式上:GeoJSON 适合静态几何,纯文本可直接序列化;CZML 保留完整时间维度;KML 走 Google Earth 兼容路线。注意 KML 导出只覆盖点、标绘牌、模型、路径、多边形、折线这几类,其余图元不会进文件。实现细节可查 exportKml.js。

🎥 录像:帧率和分辨率怎么选不翻车

什么时候用:凡是"画面在动"的演示——相机飞行、模型动画、随时间变化的效果——想留成视频,都走这条路。

怎么做

  1. 找到 Viewer 内部的 WebGL canvas。
  2. canvas.captureStream(30)拿到实时渲染流。
  3. MediaRecorder包起来,编解码选video/webm
  4. 监听onstop,把收到的分片拼成文件下载。

参数怎么调:30fps 是文件大小和观感流畅度的平衡点,60fps 收益很小、体积翻倍,低于 24fps 会明显发顿。录像分辨率跟画布走——画布小,录出来就小,录之前把画布尺寸或分辨率缩放调大,成片才够清晰。

🖼️ 截图:把一帧渲染变成 PNG

什么时候用:要一张定格图——报告插图、成果归档、改前改后对比,都适合。

怎么做

  1. 别急着拍,先等场景渲染完成,挂 postRender 事件是最稳的触发时机。
  2. 对 canvas 调toDataURL("image/png")
  3. 拿一个临时链接把数据写成可下载的文件。

参数怎么调:出图的物理像素就是画布的物理像素。想要更高清,先把画布尺寸或像素比调大再拍;想压体积,则反向操作、把画布调小。

进阶:批量截图与自定义配置

批量出图:把一组相机机位固定下来,循环flyTo每个机位,落地后在 postRender 里各拍一张,几十个角度无人值守出完,适合做素材库或批量验收。

自定义:渲染质量、分辨率缩放这类开关集中在 Scene.js,先按目标质量调好,再开拍。

一个容易踩的坑:WebGL 默认每帧清缓冲(preserveDrawingBuffer 为 false),等画面"显示出去"之后再调 toDataURL,很可能拿到一张黑图或空白图——要么在 postRender 内部取帧,要么切到 requestRenderMode 按需渲染。

按场景选导出

  • 汇报、演示要一张定格 → 截图,PNG
  • 相机飞行、动画演示 → 录像,webm,30fps
  • 地理数据交给外部工具 → 数据导出,KML/CZML/GeoJSON

【免费下载链接】cesiumAn open-source JavaScript library for world-class 3D globes and maps :earth_americas:项目地址: https://gitcode.com/GitHub_Trending/ce/cesium

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 18:39:50

MNBT梦奈宝塔V1.78:国产虚拟主机管理系统的功能升级与性能优化

1. MNBT梦奈宝塔主机系统V1.78版本深度解析作为一款国产虚拟主机管理系统的代表产品,MNBT梦奈宝塔主机系统近期推出的V1.78版本在业内引起了广泛关注。这个版本不仅延续了宝塔系列产品一贯的易用性特点,更在功能完善度和系统稳定性方面做出了显著提升。我…

作者头像 李华
网站建设 2026/9/11 18:39:48

ImageMagick命令行图像处理全攻略

1. 为什么选择ImageMagick而不是PS? 第一次接触ImageMagick是在处理服务器上的批量图片时,当时需要给2000多张产品图统一添加水印和缩略图。用PS?光是打开文件就能让电脑卡死。而ImageMagick只用一行命令就搞定了: convert *.j…

作者头像 李华
网站建设 2026/9/11 18:37:39

STM32F103 HAL库双闭环数控电源实战指南

简介:本资源是一个面向电子信息、自动化及计算机类本科生的数控电源毕业设计项目,聚焦嵌入式系统开发与智能电源控制实践,解决从硬件驱动到人机交互的全链路工程实现问题。压缩包共1274个文件,主体为589个C源码与285个头文件&…

作者头像 李华
网站建设 2026/9/11 18:34:25

LangChain基础知识概述----1

LangChain V1.21、v1.2主要模块2、Langchain家族四大支柱2.1 Langchin:智能体开发的基石2.2 LangGraph:复杂工作流的编排引擎2.3 Deep Agent : 智能体的执行框架3.4 LangSmith:可视化监控与测试平台4、开发前的准备工作4.1、前置知识1、Pytho…

作者头像 李华