MapControl 的 DrawShape()和DrawText()
我想问一下MapControl 的 DrawShape()和DrawText() 画的点或文本的颜色,大小,宽度这些怎么设置,在线等待,谢谢各位帮忙

解决方案 »

  1.   

    好像有一个叫IRGBColor的接口,搂主应该可以用的
    如:IRgbColor color = new RgbColor();
    然后把它赋值给你这个图形接口的Color属性。
      

  2.   

    给搂主查了一遍,确实有的:ILineSymbol outline = new SimpleLineSymbol();
    outline.Color = color;ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbolClass();
    simpleFillSymbol.Outline = outline;
    simpleFillSymbol.Style = esriSimpleFillStyle.esriSFSHollow;
    this.m_FillSymbol = simpleFillSymbol;      然后使用
    IGeometry geometry = m_Envelope;
    axMapControl1.DrawShape(geometry, ref m_FillSymbol);上面摘自:http://worktool.cn/JingYanJiQiao/2008-10/281p4.htm
    我没有具体研究过,见朋友搞过
      

  3.   

    以前自己写的,希望可以帮倒忙
    DrawTextILineSymbol lineSymbol = new SimpleLineSymbolClass(); //创建线型对象
                //设置线对象的参数
                IRgbColor RgbColor = new RgbColorClass();
                RgbColor.RGB = 128;
                lineSymbol.Color = RgbColor as IColor;
                lineSymbol.Width = 2;            //创建字体对象
                ITextSymbol textSymbol = new TextSymbolClass();
                //创建系统字体
                System.Drawing.Font drawFont = new System.Drawing.Font("Arial", 16, FontStyle.Bold);            //字体转换
                textSymbol.Font = (stdole.IFontDisp)ESRI.ArcGIS.Utility.COMSupport.OLE.GetIFontDispFromFont(drawFont);
                textSymbol.Color = RgbColor as IColor;            //创建字体路径
                ITextPath textPath = new BezierTextPathClass();  //to spline the text
                //Grab hold of the ISimpleTextSymbol interface through the ITextSymbol interface
                ISimpleTextSymbol simpleTextSymbol = (ISimpleTextSymbol)textSymbol;
                //Set the text path of the simple text symbol
                simpleTextSymbol.TextPath = textPath;            //画线,输出字体
                //m_Polyline.ToPoint=
                object oTextSymbol = textSymbol;
                axMapControl.DrawText(m_Polyline, name, ref (object)oTextSymbol);DrawShape                ISimpleLineSymbol lineSymbol = new SimpleLineSymbolClass();                IRgbColor RgbColor = new RgbColorClass();
                    RgbColor.RGB = 235;
                    lineSymbol.Color = RgbColor as IColor;
                    lineSymbol.Style = esriSimpleLineStyle.esriSLSInsideFrame;
                    ((ILineSymbol)lineSymbol).Width = 2;
                    object symbol = lineSymbol;
                    this.axMapControl.DrawShape(ipPolyResult, ref symbol);