• 创建文本注记TextElement


    1.创建一个字体

            /// <summary>

            /// 字体设置

            /// </summary>

            /// <param name="size">The size.</param>

            /// <param name="fontname">The fontname.</param>

            /// <returns>

            /// IFontDisp

            /// </returns>

            public static stdole.IFontDisp GetIFontDisp(float size, string fontname)

            {

                string fontFamilyName = fontname;

                FontStyle fontStyle = FontStyle.Regular;

                Font font = new Font(fontFamilyName, size, fontStyle);

                return OLE.GetIFontDispFromFont(font) as stdole.IFontDisp;

            }

    2.创建文本注记样式

            /// <summary>

            ///文本注记样式

            /// </summary>

            /// <param name="geometry">标注点,一个点即可</param>

            /// <param name="text">标注内容</param>

            /// <returns>

            /// IElement

            /// </returns>

            public static ITextSymbol GetTextElement(IGeometry geometry, string text)

            {

                ITextSymbol textSymbol = new TextSymbolClass();

                textSymbol.Color = ColorCustom(0, 0, 0);

                ////不可以直接修改textSymbol.Font.Bold等属性,无效

                stdole.IFontDisp font =  GetIFontDisp(9F, "宋体");

                font .Bold = false;

                font .Italic = false;

                font .Strikethrough = false;

                font .Underline = false;

                textSymbol.Font = font;

                textSymbol.HorizontalAlignment = esriTextHorizontalAlignment.esriTHALeft; ////水平

                textSymbol.VerticalAlignment = esriTextVerticalAlignment.esriTVATop; ; ////垂直

                return textSymbol ;

               

            }

    3.创建文本注记

                ITextElement textElement = new TextElementClass();

                textElement.ScaleText = true;

                textElement.Symbol = GetTextElement();

                textElement.Text = text;

                IElement element = textElement as IElement;

                element.Geometry = geometry;

  • 相关阅读:
    Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
    Python2.x与Python3.x的区别
    oracle锁机制
    传统解析xml的方式
    利用jdbc连接oracle数据库
    XML的解析方式(DOM、SAX、StAX)
    软件或jar包等名字里的GA意思
    windows下nginx的安装及使用
    是时候选择一款富文本编辑器了(wangEditor)
    Golang代码实现HTTPs(HTTPS证书生成和部署)
  • 原文地址:https://www.cnblogs.com/jhlong/p/5394329.html
Copyright © 2020-2023  润新知