前面已经介绍了如何制作自定义符号,已经将自定义样式文件转化为ArcEngine可用的“ServerStyle”格式,接下来就要读取它,这也是最重要的一步。
在用ArcMap新建自定义符号时,步骤有"样式管理器"—>"样式文件"—>"样式子类"—>"样式"这样来层层获取,ArcEngine的思想跟ArcMap一致,因此编写代码获取自定义样式符号时,也是遵循这样的步骤的:
1.新建样式管理器类对象
IStyleGallery pStyleGaller = new ServerStyleGallery();//样式管理集工具
2.设置目标样式文件
IStyleGalleryStorage pStyleGalleryStorage = pStyleGaller as IStyleGalleryStorage;//样式文件管理
pStyleGalleryStorage.TargetFile = sServerStylePath;//sServerStylePath为一字符串型,表示ServerStyle文件位置
3.获取样式子类
可通过遍历样式文件里的子类,然后找到与目标子类名称相同的样式子类即可
IStyleGalleryClass pStyleGalleryClass = null;//样式子类对象
for (int i = 0; i < pStyleGaller.ClassCount; i++)
{
pStyleGalleryClass = pStyleGaller.get_Class(i);
if (pStyleGalleryClass.Name != sGalleryClassName)//找到与目标子类名称相同的样式子类为止,这里的sGalleryClassName为类似"Marker Symbols"英文名称
continue;