- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《ArcGIS Engine实现Style符号样式文件管理工具》.doc
其实我们在使用ArcGIS Engine开发完成的ServerStyle样式文件的管理功能,自我感觉有几个比较难处理的地方,写下来,与大家共享:
1.在.Net里实现System.Drawing.Image到stdole.IPicture的相互转换方法,这里就要用到个让人不经意的类System.Windows.Forms.AxHost,通过继承它实现的两个静态方法GetIPictureFromImage()和GetImageFromIPicture()来实现它们之间的相互转换方法,这具很经典吧...,方法实现如下:
public static stdole.IPictureDisp GetIPictureFromImage( System.Drawing.Image image ){????? return OleConverter.GetIPictureFromPicture( image ) as stdole.IPictureDisp;}
public static System.Drawing.Image GetImageFromIPicture( stdole.IPicture pPicture ){????? return OleConverter.GetPictureFromIPicture( pPicture );}
2.通过修改模板(Gap和Mark)来改变线符号大小:在线符号编辑器功能里有个缩放符号大小的功能,我们可以通过修改线符号的ITemplate来完成这样的功能,这个功能可是我几经尝试才实现,没有功劳,也有苦劳呀!呵呵..
/// summary/// 修改模板(Gap和Mark)来改变符号大小/// /summaryprivate void ModifyTemplate( ITemplate pTemplate, double dblScale ){????? int patternElementCount = pTemplate.PatternElementCount;????? if( patternElementCount == 0 )?????? return;
????? double[] dblElement = new Double[patternElementCount * 2];????? for( int index = 0; index patternElementCount; index++ )?????? pTemplate.GetPatternElement( index, out dblElement[index * 2], out dblElement[index * 2 + 1] );
????? pTemplate.ClearPatternElements();????? for( int index = 0; index patternElementCount; index++ )?????? pTemplate.AddPatternElement( dblElement[index * 2] * dblScale, dblElement[i
ndex * 2 + 1] * dblScale );}
就是下图左上角符号预览的缩放功能,这是ArcMap里的样式管理器一样的功能
???????? 3.还有就是要重写几个控件了,比如用ListBox显示多层符号的控件了,还有预览符号的PictureBox控件,还有显示字体和索引符号的控件,还有线LineTemplate设置控件(这个控件比较麻烦),当然这些,只要你有点.Net开发方面的基础,应该是没有问题的了!好了!其实这个功能就是内容比较多而已,当你完成第一个符号编辑器后,以后其它符号的实现方法都差不多一样的了!呵呵..
在做符号管理功能时,对指定符号生成图片是最主要的方法之一,当然在ArcGIS Engine里也提供了丰富的接口来完成这样的功能,结合.Net的GDI+,使完成图片的生成方法更加简单!下面我传上代码的实现,希望能给大家带来一些参考。。。。
using System;using System.Drawing;
using ESRI.ArcGIS.Display;using ESRI.ArcGIS.Geometry;
namespace StyleConfigManager{ /// summary /// ClsDrawSymbols 的摘要说明。 /// /summary public class ClsDrawSymbols { ?? /// summary ?? /// 从符号中创建指定大小的图片 ?? ///
您可能关注的文档
- 《Advanced International Trade----Feenstra(Chapter1. Preliminaries Two-Sector Models). pp31》.pdf
- 《advanced spectral methods for climatic time series》.pdf
- 《Advanced Thin-Film Silicon Solar Cells》.pdf
- 《Advanced Trade Management》.doc
- 《Advanced Translation》.ppt
- 《Advertisement Translation》.pdf
- 《Advertising and the Public Interest- Legal Protection of Trade Symbols》.pdf
- 《against self-translation》.pdf
- 《AGATE Generic Mat Spec CF Uni》.doc
- 《Airfoil_Delft_Uni_DU_family_2016》.pdf
最近下载
- 第20课 五四运动与中国共产党的诞生必修中外历史纲要上 (2).pptx VIP
- 久谦-中信产业基金第三方物流及快递投资目标筛选项目 v3.6-20120118.pptx VIP
- 《景观生态学》全套教学课件.ppt
- 幼儿园公开招聘教职员工简章.pdf
- 2023年财务分析题库完整版.doc
- CJJ∕T 135-2009 (2023年版) 透水水泥混凝土路面技术规程.pdf
- 第二章第五节 跨学科实践:制作隔音房间模型-人教版2024物理八年级上学期.pptx
- [股市论谈]53万打天下(53万实盘帐户天天更新).t
- 第9课 创新增才干-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块).pptx VIP
- 纲要(上)第20课 五四运动与中国共产党的诞生课件(共23张PPT).pptx VIP
文档评论(0)