Arcengine如何修改注记图层中注记的颜色等,我写的代码如下,可是没有实现,不知道错误哪里,求指点。
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);//颜色的转换
IFontDisp pFont = new StdFont()
{
Name = "楷体",
Size = 5,
} as IFontDisp;
pTextSymbol.Font = pFont
pElement = pTextElement as IElement;
pAnnoFeature.Annotation = pElement;
pFeature = pAnnoFeature as IFeature;
pFeature.Store();
}
}
catch (Exception ex)
{
throw ex;
}
pWorkspaceEdit.StopEditOperation();
pWorkspaceEdit.StopEditing(true);
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);//颜色的转换
IFontDisp pFont = new StdFont()
{
Name = "楷体",
Size = 5,
} as IFontDisp;
pTextSymbol.Font = pFont
pElement = pTextElement as IElement;
pAnnoFeature.Annotation = pElement;
pFeature = pAnnoFeature as IFeature;
pFeature.Store();
}
}
catch (Exception ex)
{
throw ex;
}
pWorkspaceEdit.StopEditOperation();
pWorkspaceEdit.StopEditing(true);
1 个回复
朱新颖
赞同来自:
ITextElement textElement = annotationFeature.Annotation as ITextElement;
// ITextSymbol textSymbol = textElement.Symbol;
ITextSymbol textSymbol = new TextSymbolClass();
textSymbol.Size = 8;
textElement.Symbol = textSymbol;
annotationFeature.Annotation = textElement as IElement;
feature.Store();
要回复问题请先登录或注册