.NET中的Color,Font,Bitmap,Icon与ArcObjects中的对象互相转换

ArcGIS 10.1
Win7 旗舰版


今天在做某些.Net与COM对象数据类型转换的时候发现在ArcObjects中存在已经定义好的转换方法了,以前都是自己手写的,感觉做了很多的无用功。。。


ESRI.ArcGIS.ADF.Local

在这个程序集下面的ESRI.ArcGIS.ADF.Local.COMSupport命名空间下面有两个类,我们使用的就是OLE

这里写图片描述

我们看到OLE类下面有一个构造函数和三个方法,看看解释:

The GetIFontDispFromFont method can be used to convert an existing .NET System.Drawing.Font object into a Stdole.StdFont object.

就是System.Drawing.Font对象转换为IFontDisp对象,在stdole.dll程序集中的对象,然后就可以赋值给COM对象,即ArcObjects对象啦!~


ESRI.ArcGIS.ADF.Connection.Local

在这个程序集下面有三个命名空间,重点关注ESRI.ArcGIS.ADF.Connection.Local,

这里写图片描述

Converter类中可以对System.Drawing.ColorESRI.ArcGIS.Display.IRgbColor对象进行互相转换,此外,我们发现还可以将System.Drawing.Font转换为stdole.IFontDisp,貌似和ESRI.ArcGIS.ADF.Local中的方法GetIFontDispFromFont()有点重合?


同时,在这个程序集下面还存在ESRI.ArcGIS.ADF.ComReleaser,

这里写图片描述

在这里我们发现了很多对象释放的方法,如ReleaseCOMObject(),在.Net中我们习惯使用的是System.Runtime.InteropServices.Marshal.ReleaseComObject()来释放对象,这个方法也可以实现同样的效果!~


总结

ESRI关于ArcObjects的开发文档做的还是非常详细的,我们可以经常去看看他里面到底有什么,说不定我们很费劲实现的方法在它里面已经给我们封装好了呢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值