.style文件是用ArcMap工具导出的符号库文件
.serverStyle文件是ArcEngine可用的符号库文件
二者需要转换才能使用。
第一:把.style文件拷贝到D:主目录下;
第二:用ArcGIS安装目录下(/Program Files/ArcGIS/Utilities)的MakeServerStyleSet.exe软件进行文件转换。
第三:转换后,会提示错误,不用管,在D:盘主目录下面已经生成了.serverStyle文件了,把该文件拷贝到项目主目录下的bin/style目录下即可使用。
如果熟悉ArcGIS Desktop的使用,就会对Style符号库文件有所了解,相对应的在ArcGIS Engine开发中对应的是ServerStyle符号库,它的结构体系如下图所示。可以通过专门的转换程序把ArcGIS Desktop Style符号库转换为ArcGIS Engine所能够使用的ServerStyle符号库。
用于获取ServerStyle符号库中的符号主要涉及到以下接口如表所示:
接口名称 功能描述
IStyleGallery 用于管理Style Gallery
IStyleGalleryStorage 管理StyleGallery中的符号库文件
IStyleGalleryClass 控制符号库中Style Gallery Class
IEnumStyleGalleryItem 枚举一组Style Gallery items
IStyleGalleryItem 定义Style Gallery item
获取符号库符号,流程:(假设获取名称为Rose的符号)
1.首先构建一个ServerStyleGallery对象
2.其次使用IStyleGalleryStorage接口的AddFile方法加载ServerStyle文件
3.遍历ServerGallery中的Class,如果是FillSymbol使用IStyleGallery的GetItems方法返回一个可枚举的包含一系列StyleGalleryItem的EnumStyleGalleryItem对象。
4.遍历EnumServerStyleGalleryItme枚举对象中的StylegalleryItme如果名称是Rose即可获取ESRI符号库中名称为Rose的StylegalleryItme,然后通过IStyleGalleryItem的Item属性即可转换为ISymbol。
示意图如下:
用于获取ServerStyle符号库中的符号主要涉及到以下接口如表所示:
接口名称 功能描述
IStyleGallery 用于管理Style Gallery
IStyleGalleryStorage 管理StyleGallery中的符号库文件
IStyleGalleryClass 控制符号库中Style Gallery Class
IEnumStyleGalleryItem 枚举一组Style Gallery items
IStyleGalleryItem 定义Style Gallery item
获取符号库符号,流程:(假设获取名称为Rose的符号)
1.首先构建一个ServerStyleGallery对象
2.其次使用IStyleGalleryStorage接口的AddFile方法加载ServerStyle文件
3.遍历ServerGallery中的Class,如果是FillSymbol使用IStyleGallery的GetItems方法返回一个可枚举的包含一系列StyleGalleryItem的EnumStyleGalleryItem对象。
4.遍历EnumServerStyleGalleryItme枚举对象中的StylegalleryItme如果名称是Rose即可获取ESRI符号库中名称为Rose的StylegalleryItme,然后通过IStyleGalleryItem的Item属性即可转换为ISymbol。
示意图如下: