你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
问题
话题
文章
帮助
登录
注册
ArcGIS Engine
Engine中如何获取注记图层中的注记,并且编辑其样式?
Engine中如何获取注记图层中的注记,并且编辑注记样式?
2 个回复
朱新颖
赞同来自:
太阳升温了
【解决办法】:
(1)获取注记方法:将IAnnotationLayer转为IFeatureLayer,获取IFeatureClass,进而获取IFeature,转为IAnnotationFeature,即为注记。
(2)通过IAnnotationFeature.Anntation获取IElement,如果修改注记位置的话,可以重新设置IElement.Geometry。如果修改注记样式的话,将IElement转为ITextElement,获取ITextElement.Symbol,修改ITextSymbol即可。
注意:修改注记位置或者样式时需要开启编辑,并且修改后要将IAnnotationFeature转为IFeature,执行IFeature.Store();
阡陌
赞同来自:
请教下,我这样写修改注记图层中的文本颜色等,不能实现修改,是什么原因?谢谢!!!
IWorkspaceEdit pWorkspaceEdit = pWorkspace as IWorkspaceEdit;
bool startEdit = pWorkspaceEdit.IsBeingEdited();
if (!startEdit)
{
pWorkspaceEdit.StartEditing(false);//开启编辑事物操作
}
pWorkspaceEdit.StartEditOperation();
try
{
while ((pFeature = m_FeatureCursor.NextFeature()) != null)
{
pAnnoFeature = pFeature as IAnnotationFeature;
pElement = pAnnoFeature.Annotation as IElement;
pTextElement = pElement as ITextElement;
ITextSymbol pTextSymbol = pTextElement.Symbol;
pTextSymbol.Size = Convert.ToDouble(cboSize.SelectedText.ToString());
pTextSymbol.Color = ConvertColortoIColor(cboColor.BackColor);
pElement = pTextElement as IElement;
pAnnoFeature.Annotation = pElement;
pFeature = pAnnoFeature as IFeature;
pFeature.Store();
}
}
catch (Exception ex)
{
throw ex;
}
pWorkspaceEdit.StopEditing(true);
pWorkspaceEdit.StopEditOperation();
要回复问题请先
登录
或
注册
发起人
朱新颖
相关问题
作为Desktop用户对数据的获取比较乏力,可能缺了哪些知识?
两个图层投影坐标系都一样,但就是不能叠加在一起。怎么办,求大神指点。一个是县的灾害点,一个是县的行政区划。
有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
Engine许可使用注意事项
如何使用脚本或其他方法,将图层属性中属性域原值内容替换为属性域描述?
Engine中如何判断两个要素类的空间参考是否是同一个?
刚部署好的arcgis api4.3,测试时出现左上角的放大缩小样式出现问题?
市区择房分析时,需要添加字段并将其赋值1或者-1,怎么做? 在开始编辑的时候,总是出现空间参考与数据框不匹配提示,原因是什么?会影响下面的赋值吗?
ArcGis打开图层后显示unknown units,想要define一个投影坐标系,但数据大小似乎不一致
arcgis for python 如何获取线要素起点 终点坐标
在Arcpy中获取了一个.shp上的几何元素,如何获取该几何元素的attributes
问题状态
最新活动:
2016-08-30 20:04
浏览:
5166
关注:
3
人
2 个回复
朱新颖
赞同来自: 太阳升温了
(1)获取注记方法:将IAnnotationLayer转为IFeatureLayer,获取IFeatureClass,进而获取IFeature,转为IAnnotationFeature,即为注记。
(2)通过IAnnotationFeature.Anntation获取IElement,如果修改注记位置的话,可以重新设置IElement.Geometry。如果修改注记样式的话,将IElement转为ITextElement,获取ITextElement.Symbol,修改ITextSymbol即可。
注意:修改注记位置或者样式时需要开启编辑,并且修改后要将IAnnotationFeature转为IFeature,执行IFeature.Store();
阡陌
赞同来自:
IWorkspaceEdit pWorkspaceEdit = pWorkspace as IWorkspaceEdit;
bool startEdit = pWorkspaceEdit.IsBeingEdited();
if (!startEdit)
{
pWorkspaceEdit.StartEditing(false);//开启编辑事物操作
}
pWorkspaceEdit.StartEditOperation();
try
{
while ((pFeature = m_FeatureCursor.NextFeature()) != null)
{
pAnnoFeature = pFeature as IAnnotationFeature;
pElement = pAnnoFeature.Annotation as IElement;
pTextElement = pElement as ITextElement;
ITextSymbol pTextSymbol = pTextElement.Symbol;
pTextSymbol.Size = Convert.ToDouble(cboSize.SelectedText.ToString());
pTextSymbol.Color = ConvertColortoIColor(cboColor.BackColor);
pElement = pTextElement as IElement;
pAnnoFeature.Annotation = pElement;
pFeature = pAnnoFeature as IFeature;
pFeature.Store();
}
}
catch (Exception ex)
{
throw ex;
}
pWorkspaceEdit.StopEditing(true);
pWorkspaceEdit.StopEditOperation();
要回复问题请先登录或注册
发起人
相关问题
问题状态