ArcGIS Engine实现Style符号样式文件管理工具.doc

ArcGIS Engine实现Style符号样式文件管理工具.doc

ID:50247119

大小:45.00 KB

页数:6页

时间:2020-03-07

ArcGIS Engine实现Style符号样式文件管理工具.doc_第1页
ArcGIS Engine实现Style符号样式文件管理工具.doc_第2页
ArcGIS Engine实现Style符号样式文件管理工具.doc_第3页
ArcGIS Engine实现Style符号样式文件管理工具.doc_第4页
ArcGIS Engine实现Style符号样式文件管理工具.doc_第5页
资源描述:

《ArcGIS Engine实现Style符号样式文件管理工具.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、其实我们在使用ArcGISEngine开发完成的ServerStyle样式文件的管理功能,自我感觉有几个比较难处理的地方,写下来,与大家共享:  1.在.Net里实现System.Drawing.Image到stdole.IPicture的相互转换方法,这里就要用到个让人不经意的类System.Windows.Forms.AxHost,通过继承它实现的两个静态方法GetIPictureFromImage()和GetImageFromIPicture()来实现它们之间的相互转换方法,这具很经典吧...,方法实现如下:publicstaticstdole.IPictureD

2、ispGetIPictureFromImage(System.Drawing.Imageimage){     returnOleConverter.GetIPictureFromPicture(image)asstdole.IPictureDisp;}publicstaticSystem.Drawing.ImageGetImageFromIPicture(stdole.IPicturepPicture){     returnOleConverter.GetPictureFromIPicture(pPicture);}  2.通过修改模板(Gap和Mark)来改变线符

3、号大小:在线符号编辑器功能里有个缩放符号大小的功能,我们可以通过修改线符号的ITemplate来完成这样的功能,这个功能可是我几经尝试才实现,没有功劳,也有苦劳呀!呵呵..///

///修改模板(Gap和Mark)来改变符号大小///privatevoidModifyTemplate(ITemplatepTemplate,doubledblScale){     intpatternElementCount=pTemplate.PatternElementCount;     if(patternElementCount==0)   

4、    return;     double[]dblElement=newDouble[patternElementCount*2];     for(intindex=0;index

5、ntCount;index++)       pTemplate.AddPatternElement(dblElement[index*2]*dblScale,dblElement[index*2+1]*dblScale);}就是下图左上角符号预览的缩放功能,这是ArcMap里的样式管理器一样的功能        3.还有就是要重写几个控件了,比如用ListBox显示多层符号的控件了,还有预览符号的PictureBox控件,还有显示字体和索引符号的控件,还有线LineTemplate设置控件(这个控件比较麻烦),当然这些,只要你有点.Net开发方面的基础,应该是没有问题

6、的了!好了!其实这个功能就是内容比较多而已,当你完成第一个符号编辑器后,以后其它符号的实现方法都差不多一样的了!呵呵..在做符号管理功能时,对指定符号生成图片是最主要的方法之一,当然在ArcGISEngine里也提供了丰富的接口来完成这样的功能,结合.Net的GDI+,使完成图片的生成方法更加简单!下面我传上代码的实现,希望能给大家带来一些参考。。。。usingSystem;usingSystem.Drawing;usingESRI.ArcGIS.Display;usingESRI.ArcGIS.Geometry;namespaceStyleConfigManager{

7、 ///

 ///ClsDrawSymbols的摘要说明。 /// publicclassClsDrawSymbols {    ///    ///从符号中创建指定大小的图片    ///  publicstaticImageCreatePictureFromSymbol(ISymbolpSymbol,doubledblWidth,double  dblHeight,doubledblGap)    {       Bitmapbitmap=newBitmap((

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。