三维数字地球开发教程第四课 利用WPF建立3d gis数字地球(非axhost方式)

本文主要是介绍三维数字地球开发教程第四课 利用WPF建立3d gis数字地球(非axhost方式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

三维数字地球开发教程第四课 利用WPF建立3d gis数字地球(非axhost方式)

(四)在地图上添加FrameworkElement

下面介绍怎样在地球上增加自己的FrameworkElement,因为FrameworkElement为WPF的基础UI对象,基本上所有的UI对象都是继承它出来的,废话少说,上代码:

Button Y1 = new Button();Y1.Width = 100;Y1.Height = 100;Y1.Background = new SolidColorBrush(Colors.Red); //自己的UI对象NewGisBiao.M3D.UserGisUI3dObject2 JuLiSechBiao = new NewGisBiao.M3D.UserGisUI3dObject2(); //新建一个承载UI对象的东东JuLiSechBiao.PareantEarth = (NewGisBiao.Base.GISInterfaseForBiao)IniRead.IniReadWrite.MPareant;//设置它的GIS球对象JuLiSechBiao.Manage = IniRead.IniReadWrite.BiaoManage;//设置它的标号管理器JuLiSechBiao.MaxZoom = 9;//最大显示层,当小于9层的时候不显示JuLiSechBiao.MUIValue = Y1;//UI对象JuLiSechBiao.DHi = 0.01;//相对于地形的高度JuLiSechBiao.ZScal = 0.5;//相对缩放JuLiSechBiao.Scal.ScaleX = 1; //固定东东JuLiSechBiao.Scal.ScaleY = 1;JuLiSechBiao.Scal.ScaleZ = 1;JuLiSechBiao.AutoScal = true;//是否自动缩放,不管在哪一层都是一样大JuLiSechBiao.AutoAngle = true;//是否自动角度,使终对着摄像机JuLiSechBiao.CenterType = JunBiao.CenteType.左下角;//中心点类型IniRead.IniReadWrite.BiaoManage.AddJunBiao(JuLiSechBiao);//增加到军标管理对象中。也可以不加JuLiSechBiao.MWidth = 250;//三维面片的大小JuLiSechBiao.MHeight = 150;JuLiSechBiao.MRX = 90;if (IniRead.IniReadWrite.MPareant is MTGIS3D) //手动刷新一下自动角度。。。bug{((MTGIS3D)IniRead.IniReadWrite.MPareant).TextAxisAngleX.Angle += 0.001;((MTGIS3D)IniRead.IniReadWrite.MPareant).TextAxisAngleX.Angle -= 0.001;}JuLiSechBiao.Center = new Point(103, 30);//设置中心点JuLiSechBiao.ISShow = true;//显示//JuLiSechBiao.ISDelete = true;//这个不用说了啥

效果如下图:

这里充分利用了WPF的特性。所以这个UI的一切鼠标,触摸事件也是可以正常响应的。意思就是可以做视频播放,或者录入信息的界面什么都可以(强大的WPF)

 

这篇关于三维数字地球开发教程第四课 利用WPF建立3d gis数字地球(非axhost方式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810098

相关文章

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的