wpf arcglobe +c# 三维缩放到图层】的更多相关文章

/// <summary>        /// 地图缩放到图层        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button5_Click(object sender, RoutedEventArgs e)…
//featureClass是自己获取的featureClass,也可是sde中获取的. public void FilterAndZoomToLayer(IFeatureClass featureClass) { IFeatureLayer featureLayer = new FeatureLayerClass(); featureLayer.FeatureClass = featureClass; IFeatureLayerDefinition featureLayerDefinition…
在WPF中的平移缩放都是通过RenderTransform这个类来实现这些效果的,在这个类中,除了平移和缩放还有旋转.扭曲变换.矩阵变换.这些都差不多的,都是坐标的变换. 这里我就先简单弄个平移和缩放吧: 平移呢就是以原来的对象为坐标原点(0,0),然后向X轴.Y轴进行平移变换.缩放呢有几个属性,ScaleX.ScaleY属性表示对象在X.Y轴进行缩放的倍数,CenterX 和 CenterY属性指定一个中心点. 下面有一个平移和缩放的简单的demo,用鼠标拖图片放进行平移,点击按钮来进行缩放,…
原文:WPF 中的三维文字[转贴] 原文: http://msdn.microsoft.com/msdnmag/issues/07/10/Foundations/default.aspx?loc=zh 代码下载位置: Foundations2007_10.exe (171KB) 目录 FormattedText 和 BuildGeometry轮廓和网格Text3D 层次结构RibbonText 和 SliverTextSolidText 突破改进工作 诸如 TrueType 之类的矢量字技术主要…
在<.NET6: 开发基于WPF的摩登三维工业软件 (1)>我们创建了一个"毛坯"界面,距离摩登还差一段距离.本文将对上一阶段的成果进行深化,实现当下流行的暗黑风格UI. 1 设置暗黑主题 利用MergedDictionaries配置,在已有的通用风格基础上添加Dark.Blue主题.代码如下: App.xaml <Application.Resources> <ResourceDictionary> <ResourceDictionary.M…
做为一个摩登的工业软件,提供可编程的脚本能力是必不可少的能力.脚本既可以方便用户进行二次开发,也对方便对程序进行自动化测试.本文将结合AnyCAD对Python脚本支持的能力和WPF快速开发带脚本编辑器的CAD软件. 1 增加脚本插件 创建一个WPF控件项目,名为Rapid.ScriptPy.Plugin.参照<开发基于WPF的摩登三维工业软件 (6)>一文添加ScriptRibbonTab,并增加运行脚本按钮. <Fluent:RibbonTabItem xmlns:Fluent=&q…
如果你使用WinForm比较难实现通过滚动鼠标滑轮来对图片进行缩放显示,那么,你应该考虑一下使用WPF,既然是下一代Windows客户端开发平台,明显是有一定优势的,不然,MS是吃饱了撑着.   首先,我们应该知道WPFUI元素都具备变换功能,不仅支持二维变换,同时也支持三维变换,但3D变换对CPU的处理能力有着一定要求,如果不使用3D,WPF对性能的要求其实并不高,说WPF吃内存更子扯谈,前面我的文章中已经详细讨论过,WPF与传统的面向对象编程模有些不同,WPF属性系统使用依赖项属性,所有属性…
原文 http://www.cnblogs.com/Realh/archive/2010/12/14/1906112.html 前些日子在做ESRI的开发大赛,从刚开始接触ArcGIS Engine(以下称AE)那会儿“摸着石头过河”那个阶段一路走下来,有了不少心得体会,在此给大家分享下. 做得是一个三维的校园地下管线系统,使用的AE的SceneControl组件.传说Scene适合小场景精细模型展示,Globe适合大场景海量 数据展示,所以选的前者.界面用的是Dotnetbar for Win…
这是我电脑的分辨率设置: 关键在于设置了缩放级别"较大",即150%的缩放. 接下来在WinForm中用各种方法取得的屏幕分辨率都是缩放之后的,但是这个时候的鼠标事件中鼠标位置也是与这个坐标系统相符的: 然后是WPF,这里取得的分辨率还是缩放后的,但是这个时候的鼠标坐标就已经完全与坐标系统不符了: 可以看到这个鼠标位置所在的坐标系统是和真实分辨率相符的,即1920*1080,但是其他所有的坐标都是在1280*720的坐标系统中.…
MS Office和VisualStudio一直引领着桌面应用的时尚潮流,大型的工业软件一般都会紧跟潮流,搭配着Ribbon和DockPanel风格的界面.本文将介绍WPF下两个轻量级的Ribbon和Dock界面框架,以及搭配AnyCAD Rapid SDK实现一个三维的应用框架. 1 增加Ribbon界面 1.1 下载Fluent.Ribbon nuget上搜索ribbon,找到Fluent.Ribbon,添加到项目中 1.2 设置资源路径 App.xaml <Application x:Cl…
系统环境:Windows 7 专业版,Visual Studio 2010,ArcGIS Engine 9.3 1.创建项目 创建一个WPF的项目,必须选择.Net framework 3.5(AE9.3不支持.Net4.0),添加引用: ESRI.ArcGIS.3DAnalyst ESRI.ArcGIS.AxControls ESRI.ArcGIS.Carto ESRI.ArcGIS.Controls ESRI.ArcGIS.Display ESRI.ArcGIS.Geometry ESRI.…
ms-word做出的效果令人十分欣喜,那么如何用wpf达到这个效果,下面我们来进行讨论. 界面上我用一个WrapPanel作为父级控件,动态添加InkCanvas作为子控件 <Grid> <Grid.RowDefinitions> <RowDefinition Name="disRow"/> <RowDefinition Height="/> </Grid.RowDefinitions> <Slider x:N…
基于WPF开发界面的一个很大优势是可以方便地基于MVVM设计模式开发应用.本文从应用的角度基于MVVM实现参数化管材的创建界面. 1 MVVM MVVM是Model-View-ViewModel的简写,即模型-视图-视图模型.网上有若干对MVVM的介绍,本文在此不做过多的赘述,本文将从具体的是应用案例让大家来体会MVVM的优势,即实现UI部分的代码与核心业务逻辑.数据模型分离,达到高耦合低内聚的软件架构目标. 来自网上的截图 2 界面设计 我们希望打开一个对话框,在其中可以显示管材模型:修改管材…
<Style x:Key="ScanButtonStyle" TargetType="{x:Type Button}"> <!--<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>--> <!--<Setter Property=…
1. 前提 原本是在大屏上展示系统,系统有个功能是加载第三方的网站,第三方网站按照大屏的分辨率写死了宽高: 现需要改到小屏展示系统,而这个第三方的网站不能随着 WebBrowser 窗口的尺寸调整网站内容的尺寸. 2. 解决思路 1)加载完毕后,调用 InvokeScript 方法执行在当前加载的文档中定义的脚本函数,简单说就是调用网站的 js 方法: 2)网站未必会定义一个实现相关功能的方法,因此我们可以通过 eval 方法执行 js 代码. <Grid x:Name="wb"…
基于前文介绍的Ribbon界面.插件化.MVVM模式等内容,我们搭建了一个软件雏形.本文将综合之前的内容在RapidCAX框架中集成Robot组件,实现一个简单的机器人正向模拟模块. 1 目标 基于MVVM模式在RapidCAX中增加以下的机器人交互界面: 加载机器人模型后,在左侧的目录树里面显示机器人模型的名称 在目录树中选中机器人节点后,在右侧的属性面板中显示机器人的配置参数 修改机器人的关节参数,更新机器人模型,实现正向模拟 2 整体设计 总体上采用插件机制,即机器人模块Rapid.Rob…
1.SDE数据库导入GDB三维图层时,发生Z值丢失 问题描述:从GDB数据库中,将一部分mutipath图层导入到SDE数据库中.用相应的arcengine程序或Arcglobe中缩放至图功能时,发现功能失灵. 解决过程:排查同一个图层在两个库中的属性信息,发现Exetend值正常,但是Z值 的范围却变为”-10000至-10000“,于是将原来图层的Z值范围导入后,缩放至图层功能则正常使用. 2.设置SDE数据中摄像机视角 问题描述:初始加载数据完成后,设置摄像机视角后显示不正常 解决过程:数…
若是第一次打开,且在网络连接通畅的情况下,你会发现目录中已有部分数据层,这些数据层是由ArcGIS Online的在线数据:Imagery图层即在线的影像数据.高程数据.地名数据.运输线数据. ArcGlobe 的图层类型有别于ArcMap 在ArcGlobe 共有三种类型的图层: 浮动层(Floating layers) 叠加层(Draped layers) 高程数据层(Elevation layers) 说明: Floating layers:define their own place i…
ArcGIS Pro 从2.2版本起,提供了编辑在线三维服务图层的功能.通过该功能,我们可以直接在Pro中编辑发布的三维服务图层Web Scene Layer. 我们知道三维场景服务支持包含多种类型的三维数据,包括三维矢量点.倾斜摄影三维模型.多面体三维模型.Lidar点云.目前只支持三维矢量点和多面体三维模型的编辑. 要发布可编辑的三维场景服务,有一点是需要特别注意的.ArcGIS提供了两种三维场景服务发布途径: 一种是通过制作好的SLPK(SPK)场景数据包,共享到Portal中进行发布.…
WPF学习之路初识   WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序. 使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序.示例包括下图中显示的 Contoso Healthcare Sample Application(Contoso Heal…
原文:WPF中对三维模型的控制 (以下选自南开大学出版社出版的<WPF和Silverlight教程>) 3Dmax中的建模模型可以导出为obj文件格式,将此文件导入WPF项目中,由WPF完成对三维造型的贴图和控制设计.本例在3Dmax中设计了1个双翼开瓶器模型,将"开瓶器.obj"和贴图材质文件都添加到项目中("素材"文件夹).图2-206 的左侧是"开瓶器.obj"文件拖入到[设计面板]后,在[对象和时间线]面板中看到的结构,右侧是…
原文:WPF中的三维空间(1) WPF中可以创建三维几何图形,支持3D对象的应用,支持从3D Max等软件将3D文件obj导入设计中,但是目前还不支持将材质同时导入,这样需要在WPF中对3D对象重新设置颜色或贴图. 2.10.1 WPF中的三维空间 1.三维空间坐标 WPF中二维图形的坐标系原点定位在呈现区域(屏幕)的左上角,其X 轴上的正方向朝右,Y轴的正向朝下. 在WPF的三维坐标系中,原点一般位于在WPF中创建的三维对象的中心(导入的三维对象的情况就不一定了,比如从3DMax中导入的obj…
ArcGIS下图层范围不正确,偶尔能碰上这种情况,主要表现为“缩放至图层”时,其显示范围与该图层内所有要素的外包围盒范围不一致.针对这个问题,有两种解决办法. 方法一:导出数据.新创建含有要素的Shapefile时,会自动根据所有要素生成其边界范围,此种方法可灵活应用. 方法二:Catalog窗口下,右键图层Properties菜单项,在Properties对话框中的Feature Extent选项卡下,重进计算该图层的边界范围.…
在ArcEngine地图操作中,缩放地图的功能经常用到,这里做一个小结. 缩放地图一般可分为以下几种情况: 1.缩放地图:与放大地图相对,一般是手动绘制区域或固定比例缩放,可调用命令或Expand函数来: 2.缩放到图层:这一种用得比较多,通常是将图层转为GeoDataset,利用其他Extent属性来缩放到图层: 3.缩放到选中:选中一个或多个要素,根据选择的要素,创建Geometry,获取Envelope.如果数据量太大,会比较耗时: 4.缩放到单个要素:有时,为了截取,需要分别缩放到单个要…
本文将介绍 Windows 系统中高 DPI 开发的基础知识.由于涉及到坐标转换,这种转换经常发生在计算的不知不觉中:所以无论你使用哪种 Windows 下的 UI 框架进行开发,你都需要了解这些内容,以免不断踩坑. 本文内容 各种不同的 Windows 桌面 UI 框架 对普通用户而言的 DPI 级别 对 Windows 应用而言的 DPI 感知级别(Dpi Awareness) 不同 UI 框架对 DPI 的支持情况 UWP WPF Windows Forms 其他 UI 框架 混合 DPI…
原文:WPF中制作立体效果的文字或LOGO图形 较久之前,我曾写过一篇:"WPF绘制党徽(立体效果,Cool) "的博文.有感兴趣的朋友来EMAIL问是怎么制作的?本文解决此类问题.有时,为了美观的需要,我们可能需要在应用程序中制作一些看上去很酷的3D效果,比如下面的效果:这是一种立体的纯文字效果,或许你可以在网上找到相关工具自动生成图片,但如果是需要生成矢量的XAML图形文件,这样的工具少之又少.关于3D文字的问题,你可以参见大名鼎鼎的Charles Petzold在MSDN上的两篇…
原文:WPF 获取元素(Visual)相对于屏幕设备的缩放比例,可用于清晰显示图片 我们知道,在 WPF 中的坐标单位不是屏幕像素单位,所以如果需要知道某个控件的像素尺寸,以便做一些与屏幕像素尺寸相关的操作,就需要经过一些计算(例如得到屏幕的 DPI). 更繁琐的是,我们的控件可能外面有一些其他的控件做了 RenderTransform 进行了一些缩放,于是了解到屏幕像素单位就更不容易了. 本文将提供一套计算方法,帮助计算某个 WPF 控件相比于屏幕像素尺寸的缩放比例,用于进行屏幕像素级别的渲染…
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)--GeoServer 发布shp数据地图 JavaWeb和WebGIS学习笔记(四)--使用uDig美化地图,并叠加显示多个图层 前言:uDig是一个 [open source](https://baike.baidu.com/item/open source/114160) (EPL and BSD…
普通的地图图片如何能让其附有经纬度坐标和投影信息,如何能将普通的地图图片加载到诸如谷歌地球等相关的三维地球软件当中进行生产或学习使用呢,这就要用到gis当中常用的一种功能,叫做地理配准.地理配准并不复杂,只要有基准影像和能够进行地理配准的软件就可以对普通的地图图片进行地理配准.本文所要配准的图片是在百度图片中下载的最新北京地铁图(之所以选择地铁图是因为图上有站点信息,可以方便的选取控制点,选取控制点是一个繁琐的工作,需要耐心,这里偷点懒).如图: 下面就来介绍如何进行地理配准.本文需要用的软件工…
Quartz Core 图层编程 一.添加 Quartz Core 框架 要使用 Quartz Core 框架,你需要将其添加到你的工程中 . 然后 #import <Quartz Core/QuartzCore.h> 二.认识图层 对 ps 有所了解的人都知道图层的概念,在这里也一样.在PS中一张图片至少得有一个图层,一个或多个图层的叠加构成了一张位图.我们这里一个或多个图层的叠加的构成了UIView(或其派生类)对象.看过我关于 UIView 文章的人可能会有疑问:UIView 和图层没啥…