Mars3d实现【按当前相机视域页在地球上投射视频】功能

通过mars3d实现按当前相机视域页在地球上投射视频进行视频投射效果:

相关代码:

复制代码
// 按当前相机投射视频
export function startDrawGraphic2() {
  const ellipsoid = map.scene.globe.ellipsoid
  const canvas = map.scene.canvas
  const pt1 = map.camera.pickEllipsoid(new Cesium.Cartesian2(0, 0), ellipsoid)
  const pt2 = map.camera.pickEllipsoid(new Cesium.Cartesian2(canvas.width, 0), ellipsoid)
  const pt3 = map.camera.pickEllipsoid(new Cesium.Cartesian2(canvas.width, canvas.height), ellipsoid)
  const pt4 = map.camera.pickEllipsoid(new Cesium.Cartesian2(0, canvas.height), ellipsoid)
  if (!pt1 || !pt2 || !pt3 || !pt4) {
    return
  }

  const graphic = new mars3d.graphic.VideoPrimitive({
    positions: [pt1, pt2, pt3, pt4],
    style: {
      url: "//data.mars3d.cn/file/video/lukou.mp4"
    }
  })
  graphicLayer.addGraphic(graphic)

  videoPolygon = graphic
}

相关示例链接:

http://mars3d.cn/editor-es5.html?id=graphic/video/video-edit

关键代码核心参考说明:

1.获得当前相机的视域边界位置,进行坐标转换后,转为new mars3d.graphic.VideoPrimitive({对象进行加载。

2.实现效果可见相关示例,单击按钮后,以当前视域页面在地球上投射视频,同步支持地球缩放效果。

相关推荐
用户15815963743706 分钟前
AI Agent 说"完成了",但其实没有——任务验收机制的工程实践
javascript
Carsene11 分钟前
开源项目文档架构设计:Git Submodule 实现文档与代码的优雅分离
前端·后端
Z思学15 分钟前
promise 有几种状态 async/await 和promise 有什么关系
前端
han_16 分钟前
JavaScript设计模式(四):发布-订阅模式实现与应用
前端·javascript·设计模式
276695829218 分钟前
租车帮(悟空)订单查询算法分析
java·服务器·前端·悟空·悟空app·租车帮·租车帮逆向
用户3266584037429 分钟前
如何初始化 TypeScript + Node.js 项目
javascript
__雨夜星辰__30 分钟前
TypeScript 入门学习笔记(面向对象 + 常用设计模式)
前端·学习·typescript
晚霞的不甘1 小时前
HarmonyOS ArkTS 进阶实战:深入理解边距、边框与嵌套布局
前端·计算机视觉·华为·智能手机·harmonyos
_野猪佩奇_牛马版1 小时前
ReACT Agent 开发知识点总结
前端
牛奶1 小时前
你发送的消息,微信到底怎么送到的?
前端·websocket·http