06 2015 档案
摘要:自定义控件开发一般而言,Visual Studio 2005中自带的几十种控件已经足够我们使用了,但是,在一些特殊的需求中,可能需要一些特殊的控件来与用户进行交互,这时,就需要我们自己开发新的、满足用户需求的控件。要开发自己的控件,有几种方法:复合控件(Composite Controls):将现...
阅读全文
摘要:GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息。GDI+不但在功能上比GDI 要强大很多,而且在代码编写方...
阅读全文
摘要:上篇:控件制作本例是制作一个简单的自定义控件,然后用一个简单的测试程序,对于初学者来说,本例子比较简单,只能起到抛石引玉的效果。我也是在学习当中,今后会将自己所学的逐步写出来和大家交流共享。第一步:新建一个控件库项目:myControl第二步:从工具箱里面拖动1个PictureBox、1个Butto...
阅读全文
摘要:在WorldWindow定制控件是从Control类派生出来的,需要自己操纵GDI+绘制所需要的界面效果,这种自定义控件比较耗费精力,需要比较深厚的GDI+和DirectX 3D开发功底。(区别于用户控件UserControl,也叫组合控件,大多是对.NET工具箱提供的默认基础控件进行的组合和轻量级
阅读全文
摘要:四叉树瓦片集合类QuadTileSet是影像瓦片渲染的主要类。使用地形管理器来为3D地形渲染查询高程值。依赖于用来刷新基于经度、纬度、视角范围瓦片的更新线程。该类继承自可渲染对象类RenderableObject。该类的类图如下。四叉树瓦片集合类QuadTileSet提供的主要字段、属性和方法简要描...
阅读全文
摘要:四叉树瓦片类QuadTile提供了对影像和地形数据的四叉树访问模型。该类的类图如下。四叉树瓦片类QuadTile提供的主要字段、属性和方法简要描述如下:public QuadTileSet QuadTileSet;//四叉树瓦片集合类public double West;//瓦片的西边界,角度为单位...
阅读全文
摘要:RenderableObject是WorldWind中所有需要渲染的对象的父类,继承了接口IRenderable和Icomparable。其派生类体系如下所示。RenderableObject的成员如下所示。RenderableObjectList也继承自RenderableObject。接口I...
阅读全文
摘要:在WorldWindow定制控件是从Control类派生出来的,需要自己操纵GDI+绘制所需要的界面效果,比较耗费精力(区别于用户控件UserControl,也叫组合控件,大多是对.NET工具箱提供的默认基础控件进行的组合和轻量级的改变,实现起来比较简单)。为了明确定制控件Control和用户控件U...
阅读全文
摘要:配置载入器类ConfigurationLoader主要从指定的路径中加载保存星球相关参数的xml文件,从中读取数据来构造星球对象及其所关联的可渲染子对象列表并返回。该类的类图如下所示。该类所包含的主要的方法基本都是静态的,功能说明如下:public static double ParseDouble...
阅读全文
摘要:大气层散射球类AtmosphericScatteringSphere代表地球外面的大气层散射球模型,可以控制开启/关闭渲染该对象。该类的类图如下。该类所包含的主要字段、属性和方法如下:public float m_radius;//大气层散射球半径,默认为地球赤道半径的1.025倍protected...
阅读全文
摘要:可渲染对象列表类RenderableObjectList用来存储与一个星球体相关联的全部的可渲染对象,继承自可渲染对象类RenderableObject。RenderableObjectList的类图如下所示。该类所包含的主要的字段、属性和方法如下: protected ArrayList m_ch...
阅读全文
摘要:星球类World代表通用的星球类,因为可能需要绘制除地球之外的其它星球,如月球、火星等。该类的类图如下。需要说明的是,在WorldWind中星球球体的渲染和经纬网格的渲染时分别绘制的。经纬网格的渲染过程请参见文章《WorldWind源码剖析系列:星球经纬度格网的绘制》,是通过Form.OnPaint...
阅读全文
摘要:HttpWebRequest HttpWebRequest类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持 不要使用 HttpWebRequest 构造函数。使用 WebRequest.Create 方法初始化新的H...
阅读全文
摘要:内存中的 XML 处理 基于流的 XML 处理提供了最小的负载,但也只提供了最小的灵活性。在很多 XML 处理场景里,你不会在这么低的层次下工作。 对内存中的 XML 的处理则更加方便,但没有单一、标准的方式。如下所有的类都支持对 XML 的读取和导航:XmlDocument:它是 XML 数据的标...
阅读全文
摘要:在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据库连接,及保存密码设置等等(在Winform程序中),若在ASP.NET程序中有另外的解决方法,此C#操作INI文件的文...
阅读全文
摘要:很酷的效果,很值得好好去学习的哈。重置工具箱:新建一个WinForm程序,项目名称为TestDockPanelControl。选中Form1窗体后选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--->>右键--->>选择项--->>浏览--->>weiFenLuo.winFormsUI...
阅读全文
摘要:第一步:下载Log4Net 下载地址:http://logging.apache.org/log4net/download_log4net.cgi 把下载的 log4net-1.2.11-bin-newkey解压后,如下图所示: 双击bin文件夹 双击net文件夹,选择针对....
阅读全文
摘要:官方网站:http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx插件描述:ICSharpCode.SharpZipLib.dll 是一个完全由c#编写的Zip, GZip, Tar and BZip2 library,可以方便地支...
阅读全文
摘要:Utility工程中的日志类Log主要用来输出Debug状态下的调试信息。该类的类图如下:日志类Log中使用到的类和内嵌结构体类型主要有以下这些:public class LogEventArgs : EventArgs//日志事件参数{ public int level; public strin...
阅读全文
摘要:反射用于在程序运行过程中,获取类里面的信息或发现程序集并运行的一个过程。通过反射可以获得.dll和.exe后缀的程序集里面的信息。使用反射可以看到一个程序集内部的类,接口,字段,属性,方法,特性等信息。一、各种GetType()、typeof的区别 首先就是获取Type对象的来源不同:class ...
阅读全文
摘要:WorldWind源码剖析系列:星球球体的加载与渲染 WorldWind中主函数Main()的分析 在文件WorldWind.cs中主函数Main()阐明了WorldWind的初始化运行机制(如图1所示 ): 图1 WorldWind的初始化运行机制 1. 使用System.Version在内部,读
阅读全文
摘要:影像存储类ImageStore 影像存储类ImageStore提供了计算本地影像路径和远程影像影像URL访问的各种接口,是WmsImageStore类和NltImageStore类的基类。当划分完层次的网格,填充完网格的坐标信息后,将先调用LoadFile()函数,若返回NULL,则先下载后渲染,如
阅读全文
摘要:代理助手类ProxyHelper通过平台调用的互操作技术封送了若干Win32结构体和函数。该类类图如下。提供的主要处理方法基本上都是静态函数,简要描述如下:内嵌类型WINHTTP_AUTOPROXY_OPTIONS代表自动代理选项的Win32结构体。内嵌类型WINHTTP_PROXY_INFO代表被...
阅读全文
摘要:地形访问器类TerrainAccessor 地形访问器类TerrainAccessor提供了对地形(高程)Terrain (elevation)访问的各种接口interface,是NltTerrainAccessor类的基类。类TerrainAccessor和NltTerrainAccessor封装
阅读全文
摘要:下载请求类DownloadRequest是各种下载请求的抽象基类,先派生出网络下载请求类WebDownloadRequest,再派生出地理空间下载请求类GeoSpatialDownloadRequest(抽象类),再派生出地形下载请求类TerrainDownloadRequest。 当需要渲染区域的
阅读全文
摘要:网络下载类WebDownload封装了对请求的瓦片进行网络下载的相关操作。该类使用了两个委托类型和一个枚举类型。 该类的类图如下。网络下载类WebDownload各个字段和属性的含义说明如下:static public bool Log404Errors = false;//网络下载错误类型stat...
阅读全文
摘要:地形瓦片类TerrainTile 用来抽象封装用户漫游中所请求的地形瓦片数据类型。 地形瓦片服务类TerrainTileService提供了从BIL(Binary Interleaved by Line,按行交叉存储二进制文件)地形文件获取高程的功能。该类主要是用来返回用户漫游中所请求的地形瓦片对象
阅读全文
摘要:下载队列类DownloadQueue代表具有优先级的下载队列,该类的存储下载请求的数组链表专门按一定的优先级来存储下载请求的。该类的类图如下。下载队列类DownloadQueue各个字段的含义说明如下:public static int MaxQueueLength = 200;//最大队列长度pu...
阅读全文
摘要:C#游戏开发中快速的游戏循环的实现。参考《精通C#游戏编程》一书。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using Sy...
阅读全文
摘要:方法一:参考《精通C#游戏编程》一书。根据学习WorldWind源码可知,WorldWind中采用的方法与该方法基本一致。using System;using System.Collections.Generic;using System.Linq;using System.Text;using S...
阅读全文
摘要:C# XmlSerializer类是实现序列化的一个类,那么关于C# XmlSerializer的学习我们要掌握怎么样的操作方法呢?那么这里向你详细介绍具体的操作细节情况。C# XmlSerializer是什么呢?它是使用二进制格式化程序进行序列化的一个类,那么具体的通过C# XmlSerializ...
阅读全文
摘要:图像助手类ImageHelper封装了对各种图像的操作。该类类图如下。提供的主要处理方法基本上都是静态函数,简要描述如下:public static bool IsGdiSupportedImageFormat(string imageFileName) 静态函数用给定的图像文件名称来判断该图像是否...
阅读全文
摘要:缓冲类Cache主要用于在最小的限制条件下保存从远程服务器通过网络下载下来的地理空间数据,以便当用户处于离线状态时能够使用这些已经缓冲好的数据。Google Earth也采用类似机制处理用户离线浏览漫游问题。该类类图如下。提供的主要参数设置有:缓冲区上限CacheUpperLimit(默认最大为2G...
阅读全文
摘要:绘制参数类DrawArgs主要对绘制时需要的对象如:设备对象Microsoft.DirectX.Direct3D.Device、Microsoft.DirectX.Direct3D.Font字体对象、相机对象CameraBase、星球对象World、下载队列对象DownloadQueue、程序插件集...
阅读全文
摘要:PluginSDK中的星球设置类WorldSettings 和WorldWind。程序设置类WorldWindSettings均继承自父类SettingsBase。类图如下所示。其中父类SettingsBase内嵌了枚举型LocationType,子类WorldSettings的定义文件中附带了定义...
阅读全文
摘要:经纬度格网类LatLongGrid继承自可渲染对象类RenderableObject,是WorldWind中用来在星球外表绘制经纬度格网的封装类。其类图如下所示。绘制经纬网格的主体函数为Render(),其内部主要调用以下函数完成绘制:ComputeGridValues()//计算格网值Render...
阅读全文