ArcGlobe三维开发之十三——加载保存动画
来源:互联网 发布:淘宝店分析 编辑:程序博客网 时间:2024/05/02 04:32
前面的几篇博文提高了3D符号化以及根据路径创建动画方面的内容,先来看下效果图:
那么创建的动画应该怎么保存呢?通过查找帮助文档以及OMD,可以知道Globe实现了IBasicScene接口和IBasicScene2接口,通过其LoadAnimation和SaveAnimation方法就可以加载和保存动画文件。如下图:
代码如下:
//加载动画文件 .aga private void button_loadAnimation_Click (object sender,EventArgs e) { try { OpenFileDialog openDlgAnimation = new OpenFileDialog(); openDlgAnimation.Title = "加载动画文件(.aga)"; openDlgAnimation.Filter = "动画文件(*.aga)|*.aga"; string strAnimationName = ""; DialogResult Dr = openDlgAnimation.ShowDialog(); if (Dr==DialogResult.OK) { strAnimationName = openDlgAnimation.FileName; IGlobe globe = m_globeControl.Globe; IBasicScene basicscene = globe as IBasicScene; basicscene.LoadAnimation(strAnimationName); } } catch (System.Exception ex) { MyMessagebox pMyMessagebox=new MyMessagebox(ex.Message); pMyMessagebox.Show(); } } //保存动画文件 private void button_SaveAnimation_Click (object sender,EventArgs e) { IGlobe globe = m_globeControl.Globe; int tracksCount = (globe as IAGAnimationTracks).AGTracks.Count; if (tracksCount>0) { IBasicScene2 basicscene = globe as IBasicScene2; OpenFileDialog openSaveAnimationDlg = new OpenFileDialog(); openSaveAnimationDlg.Title = "选择动画存放路径"; openSaveAnimationDlg.Filter = "动画文件(*.aga)|*.aga"; openSaveAnimationDlg.FileName = "输电线路动画.aga"; DialogResult DR = openSaveAnimationDlg.ShowDialog(); if (DR==DialogResult.OK) { basicscene.SaveAnimation(openSaveAnimationDlg.FileName); } else { MyMessagebox pMymessagebox = new MyMessagebox("动画未保存!"); pMymessagebox.Show(); } } else { MyMessagebox mymessagebox = new MyMessagebox("当前视图不包含动画文件!"); mymessagebox.Show(); } }
下面一片博文将介绍如何在globeControl下播放动画,敬请关注!
2 0
- ArcGlobe三维开发之十三——加载保存动画
- ArcGlobe三维开发之十六——加载和保存3dd文件
- ArcGlobe三维开发之六——动画(前言)
- ArcGlobe三维开发之七————动画的两种实现方式
- ArcGlobe三维开发之八————由指定路径创建动画(接口)
- ArcGlobe三维开发之九————由指定路径创建动画(实现)
- ArcGlobe三维开发之十四————播放动画
- ArcGlobe三维开发之二——IGlobeLayerProperties接口
- ArcGlobe三维开发之十——IGlobeDisplayRendering2 接口
- ArcGlobe三维开发之十七——书签
- ArcGlobe三维开发之十九——GlobeControl与MapControl的二三维联动
- ArcGlobe三维开发之二十——输电线路二三维交互选线
- ArcGlobe三维开发之三——3D符号的现实单位显示
- ArcGlobe三维开发之四——设置globe图层的缓存属性)
- ArcGlobe三维开发之五——获取并设置Globe图层的叠加次序
- ArcGlobe三维开发之十一——3D符号化(接口)
- ArcGlobe三维开发之十五——使用对话框设置坐标参考系(ISpatialReferenceDialog2)
- ArcGlobe三维开发之十二——3D符号化(添加3D符号)
- 进程、多线程
- item2: 尽量以const,enum,inline替换#define
- 指针在函数中当形参时的问题
- mysql的table is read only 解决方法
- 回调函数
- ArcGlobe三维开发之十三——加载保存动画
- Bootstrap初步
- ruby 数组索引
- eclipse 导入.class文件
- poj 1410
- 在MFC程序中使用CImage类绘制半透明图像
- Unity读取xml(android)
- Java中的换行符
- poj1416