zoukankan      html  css  js  c++  java
  • ArcEngine 绘图

    画点 [C#] public void OnMouseDown(int Button, int Shift, int X, int Y) { IMxDocument mxDoc = m_App.Document as IMxDocument; IActiveView activeView = mxDoc.FocusMap as IActiveView; IScreenDisplay screenDisplay = activeView.ScreenDisplay; screenDisplay.StartDrawing(screenDisplay.hDC, (short)  esriScreenCache.esriNoScreenCache); screenDisplay.SetSymbol(new SimpleMarkerSymbolClass()); screenDisplay.DrawPoint(mxDoc.CurrentLocation); screenDisplay.FinishDrawing(); } 画线 public void OnMouseDown(int Button, int Shift, int X, int Y) { IMxDocument mxDoc = m_App.Document as IMxDocument; IActiveView activeView = mxDoc.FocusMap as IActiveView; IScreenDisplay screenDisplay = activeView.ScreenDisplay; ISimpleLineSymbol lineSymbol = new SimpleLineSymbolClass(); IRgbColor rgbColor = new RgbColorClass(); rgbColor.Red = 255; lineSymbol.Color = rgbColor; IRubberBand rubberLine = new RubberLineClass(); IPolyline newPolyline = (IPolyline)rubberLine.TrackNew(screenDisplay, (ISymbol)lineSymbol); screenDisplay.StartDrawing(screenDisplay.hDC, (short)esriScreenCache.esriNoScreenCache); screenDisplay.SetSymbol((ISymbol)lineSymbol); screenDisplay.DrawPolyline(newPolyline); screenDisplay.FinishDrawing(); } 画线2 { ICartographicLineSymbol pCartoLineSyl; pCartoLineSyl = new CartographicLineSymbolClass(); pCartoLineSyl.Color = getRGB(255, 110, 210); pCartoLineSyl.Cap = esriLineCapStyle.esriLCSButt; pCartoLineSyl.Join = esriLineJoinStyle.esriLJSBevel; pCartoLineSyl.Width=4; pCartoLineSyl.MiterLimit=4; ILineProperties pLinePro ; pLinePro = pCartoLineSyl as ILineProperties;//取地址 ISimpleLineDecorationElement pSimpleLineDecoEle; pSimpleLineDecoEle = new SimpleLineDecorationElementClass(); pSimpleLineDecoEle.FlipAll = true; pSimpleLineDecoEle.FlipFirst = true; ILineDecoration pLineDeco; pLineDeco = new LineDecorationClass(); pLineDeco.AddElement(pSimpleLineDecoEle); pLinePro.LineDecoration = pLineDeco; pLinePro.DecorationOnTop=true; IGeometry pGeo; pGeo = axMapControl2.TrackLine(); object oLineSymbol = pCartoLineSyl; axMapControl2.DrawShape(pGeo, ref oLineSymbol); } 画线3 private void axMapControl2_OnMouseDown(object sender, AxESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEvent e) { //                        ISimpleLineSymbol pLineSyl; //                                pLineSyl = new SimpleLineSymbolClass(); //                                pLineSyl.Color = getRGB(30, 60, 90); //                                pLineSyl.Width = 4; //                                pLineSyl.Style = esriSimpleLineStyle.esriSLSDashDot; ICartographicLineSymbol pCartoLineSyl; pCartoLineSyl = new CartographicLineSymbolClass(); //pCartoLineSyl.Color = getRGB(255, 110, 210); pCartoLineSyl.Cap = esriLineCapStyle.esriLCSButt; pCartoLineSyl.Join = esriLineJoinStyle.esriLJSBevel; pCartoLineSyl.Width=10; pCartoLineSyl.MiterLimit=4; ILineProperties pLinePro ; pLinePro = pCartoLineSyl as ILineProperties;//取地址 ISimpleLineDecorationElement pSimpleLineDecoEle; pSimpleLineDecoEle = new SimpleLineDecorationElementClass(); pSimpleLineDecoEle.FlipAll = true; pSimpleLineDecoEle.FlipFirst = true; ILineDecoration pLineDeco; pLineDeco = new LineDecorationClass(); pLineDeco.AddElement(pSimpleLineDecoEle); pLinePro.LineDecoration = pLineDeco; pLinePro.DecorationOnTop=true; ILineFillSymbol pLineFillSymbol =new LineFillSymbolClass(); pLineFillSymbol.Offset=3; pLineFillSymbol.Angle=45; pLineFillSymbol.Offset=10; IFillSymbol pFillSymbol =pLineFillSymbol as IFillSymbol; pFillSymbol.Color=getRGB(0,0,200); pFillSymbol.Outline=pCartoLineSyl; ICharacterMarkerSymbol pCharacterMarkerSymbol; pCharacterMarkerSymbol = new CharacterMarkerSymbolClass(); //设置它的字符,114为‘r’ pCharacterMarkerSymbol.CharacterIndex = 114; IMarkerFillSymbol pMarkerFillSymbol =new MarkerFillSymbolClass(); pMarkerFillSymbol.Outline=pCartoLineSyl; pMarkerFillSymbol.Style=esriMarkerFillStyle.esriMFSRandom; pMarkerFillSymbol.MarkerSymbol=pCharacterMarkerSymbol; pMarkerFillSymbol.GridAngle=45; pMarkerFillSymbol.Color=getRGB(0,255,255); IGeometry pGeo; pGeo = axMapControl2.TrackLine(); object oLineSymbol = pCartoLineSyl; axMapControl2.DrawShape(pGeo, ref oLineSymbol); } 画面 public void OnMouseDown(int Button, int Shift, int X, int Y) { IMxDocument mxDoc = m_App.Document as IMxDocument; IActiveView activeView = mxDoc.FocusMap as IActiveView; IScreenDisplay screenDisplay = activeView.ScreenDisplay; ISimpleFillSymbol fillSymbol = new SimpleFillSymbolClass(); IRgbColor rgbColor = new RgbColorClass(); rgbColor.Red = 255; fillSymbol.Color = rgbColor; IRubberBand rubberPolygon = new RubberPolygonClass(); IPolygon newPolygon = (IPolygon)rubberPolygon.TrackNew(screenDisplay, (ISymbol)fillSymbol); screenDisplay.StartDrawing(screenDisplay.hDC, (short)esriScreenCache.esriNoScreenCache); screenDisplay.SetSymbol((ISymbol)fillSymbol); screenDisplay.DrawPolygon(newPolygon); screenDisplay.FinishDrawing(); } 画矩形 public void OnMouseDown(int Button, int Shift, int X, int Y) { IMxDocument mxDoc = m_App.Document as IMxDocument; IActiveView activeView = mxDoc.FocusMap as IActiveView; IScreenDisplay screenDisplay = activeView.ScreenDisplay; ISimpleFillSymbol fillSymbol = new SimpleFillSymbolClass(); IRgbColor rgbColor = new RgbColorClass(); rgbColor.Red = 255; fillSymbol.Color = rgbColor; IRubberBand rubberEnv = new RubberEnvelopeClass(); IEnvelope newEnvelope = (IEnvelope)rubberEnv.TrackNew(screenDisplay, (ISymbol)fillSymbol); screenDisplay.StartDrawing(screenDisplay.hDC, (short)esriScreenCache.esriNoScreenCache); screenDisplay.SetSymbol((ISymbol)fillSymbol); screenDisplay.DrawRectangle(newEnvelope); screenDisplay.FinishDrawing(); }
  • 相关阅读:
    HDU Railroad (记忆化)
    HDU 1227 Fast Food
    HDU 3008 Warcraft
    asp vbscript 检测客户端浏览器和操作系统(也可以易于升级到ASP.NET)
    Csharp 讀取大文本文件數據到DataTable中,大批量插入到數據庫中
    csharp 在万年历中计算显示农历日子出错
    csharp create ICS file extension
    CSS DIV Shadow
    DataTable search keyword
    User select fontface/color/size/backgroundColor设置 字体,颜色,大小,背景色兼容主流浏览器
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327289.html
Copyright © 2011-2022 走看看