阅读:2409回复:6
上传一个类似ArcMap符号管理器的NET类库,可在AE下直接调用
<P>两个类库:Carto和Display.</P>
<P>Carto主要是一些类和接口的定义,主要用于在AE下直接读取Style符号文件所用.</P> <P>Display.SymbolUI主要包括与Symbol有关的UI.</P> <P>今天只简要说一下打开符号库的接口说明和使用帮助</P> <P>ISymbolSelector接口定义打开符号选择器的属性和方法.<BR> public interface ISymbolSelector<BR> {<BR> IStyleGallery StyleGallery { get;set;} //Style文件的符号集<BR> void SetObject(object @object); //传入符号选择器中的符号(目前支持点,线,面,文字,指北针)<BR> object GetOject(); //返回的符号对象<BR> bool DoModal(); //打开符号选择器的方法,点击确写按钮时,返回True<BR> }<BR>SymbolSelector实现ISymbolSelector接口,<BR><BR>通过SymbolEditor可打开符号编辑器窗口,SymbolEditor实现ISymbolEditor接口和IPropertyPageEvents接口<BR> public interface ISymbolEditor<BR> {<BR> bool EditSymbol(object @object); //传入符号编辑器的符号对象,当点击确定按钮时,返回True<BR> IStyleGallery StyleGallery { get;set;} //Style文件的符号集<BR> bool ShowUnits { set;} //是否显示单位ComboBox控件<BR> object GetSymbol(); //返回的符号对象<BR> string Title { set;} //符号编辑器的标题<BR> }<BR><BR> interface IPropertyPageEvents<BR> {<BR> event OnValueChangedEventHandler OnValueChanged; //符号改变的委托事件<BR> }<BR></P> <P><FONT color=#ff0000>具体使用的例子:<BR></FONT> <FONT color=blue>private IStyleGallery m_pStyleGallery = null;<BR> m_pStyleGallery = new StyleGalleryClass(); //StyleGalleryClass类在Carto.DisplayLib命名空间中</FONT><BR><FONT color=blue> //=====在此添加符号库文件</FONT><BR><FONT color=blue> //通过接口转换,得到IStyleGalleryStorage接口<BR> IStyleGalleryStorage pStyleGalleryStorage = this.m_pStyleGallery as IStyleGalleryStorage;<BR> //=====pStyleGalleryStorage.AddFile(pStyleGalleryStorage.DefaultStylePath + "forestry.style");<BR> pStyleGalleryStorage.AddFile(Application.StartupPath + @"\ESRI.style");</FONT><BR><FONT color=blue></FONT><BR><FONT color=blue></FONT><BR><FONT color=blue> ISymbolSelector pSymbolSelector = new SymbolSelector();<BR> pSymbolSelector.StyleGallery = this.m_pStyleGallery;<BR> //该符号库目前支持以下五种符号类型:点,线,面,文字,指北针<BR> pSymbolSelector.SetObject(new MarkerNorthArrowClass());<BR> //pSymbolSelector.SetObject(new SimpleMarkerSymbolClass());<BR> //pSymbolSelector.SetObject(new SimpleLineSymbolClass());<BR> //pSymbolSelector.SetObject(new SimpleFillSymbolClass());<BR> //pSymbolSelector.SetObject(new TextSymbolClass());<BR> if (pSymbolSelector.DoModal())<BR> {<BR> object obj = pSymbolSelector.GetOject();<BR> //GetObject方法返回就是得到的对象,再接口转换一下就得到你要的符号类型了</FONT><BR><FONT color=blue> }</FONT><BR></P> <P>好像不能上传,我再想想办法怎么上传上来</P> |
|
|
1楼#
发布于:2007-05-31 16:29
晕死,我自己都不能编辑我自己的贴子.
|
|
|
2楼#
发布于:2007-05-31 20:58
已经发布到<a href="http://www.gischina.com/bbs" target="_blank" >www.gischina.com/bbs</A>论坛上,有兴趣的朋友去那儿下载吧.
|
|
|
3楼#
发布于:2007-05-31 22:31
敢模仿
|
|
4楼#
发布于:2007-06-01 16:04
<DIV class=quote><B>以下是引用<I>SimpleGIS</I>在2007-5-31 16:29:53的发言:</B><BR>晕死,我自己都不能编辑我自己的贴子.</DIV>
<P>你好,我们对权限根据积分和魅力数值做了控制,主要也是鼓励大家多交流; <P>很不错的东西,在9.2的engine里已经推出了这个新的控件,所以在9.2中编辑和符号等功能有了不少改进</P> |
|
|
5楼#
发布于:2007-06-02 15:00
9.2提供的也仅仅是显示符号功能,并不能去编辑符号,我们在开发中,提供和和ArcMap一样的符号编辑和显示功能,并且直接读写Style符号文件,并可直接应用于AE程序中,无需ArcGIS支持.
|
|
|
6楼#
发布于:2007-06-02 15:41
需要的朋友直接上<a href="http://www.simplegis.com.cn" target="_blank" >www.simplegis.com.cn</A>下载
|
|
|