zoukankan      html  css  js  c++  java
  • AE基础(4)画几何图形

      1 using ESRI.ArcGIS.Display;
      2 using ESRI.ArcGIS.Geometry;
      3 using System;
      4 using System.Collections.Generic;
      5 using System.ComponentModel;
      6 using System.Data;
      7 using System.Drawing;
      8 using System.Linq;
      9 using System.Text;
     10 using System.Threading.Tasks;
     11 using System.Windows.Forms;
     12 
     13 namespace Ch02Ex05
     14 {
     15     public partial class Form1 : Form
     16     {
     17         public Form1()
     18         {
     19             InitializeComponent();
     20         }
     21         int flag = 0;
     22         private void btnDrawLine_Click(object sender, EventArgs e)
     23         {
     24             flag = 1;//画线对象
     25         }
     26 
     27         private void btnDrawCircle_Click(object sender, EventArgs e)
     28         {
     29             flag = 2;//画圆对象
     30         }
     31 
     32         private void btnDrawRect_Click(object sender, EventArgs e)
     33         {
     34             flag = 3;//画矩形对象
     35         }
     36 
     37         private void btnDrawPolygon_Click(object sender, EventArgs e)
     38         {
     39             flag = 4;//画面对象
     40         }
     41 
     42         private void btnDrawText_Click(object sender, EventArgs e)
     43         {
     44             flag = 5;//画文本对象
     45         }
     46         private void DrawMapText(IGeometry geometry)
     47         {
     48             IRgbColor rgbColor = new RgbColor();
     49             rgbColor.Red = 225;
     50             rgbColor.Blue = 0;
     51             rgbColor.Green = 0;
     52             ITextSymbol txtSymbol = new TextSymbol();
     53             txtSymbol.Color = rgbColor;
     54             object symbol = txtSymbol;
     55             axMapControl1.DrawText(geometry, "测试文本", ref symbol);
     56         }
     57         private void DrawMapShape(IGeometry pGeo)
     58         {
     59             IRgbColor rgbColor = new RgbColor();
     60             rgbColor.Red = 255;
     61             rgbColor.Blue = 0;
     62             rgbColor.Green = 255;
     63             object symbol = null;
     64             if (pGeo.GeometryType == esriGeometryType.esriGeometryPolyline)
     65             {
     66                 ISimpleLineSymbol simpleLine = new SimpleLineSymbol();
     67                 simpleLine.Color = rgbColor;
     68                 simpleLine.Width = 5;
     69                 symbol = simpleLine;
     70             }
     71             else
     72             {
     73                 ISimpleFillSymbol fillSymbol = new SimpleFillSymbol();
     74                 fillSymbol.Color = rgbColor;
     75                 symbol = fillSymbol;
     76             }
     77             axMapControl1.DrawShape(pGeo, ref symbol);
     78         }
     79 
     80         private void axMapControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)
     81         {
     82             IGeometry geometry = null;
     83             if (flag == 1)
     84             {
     85                 geometry = axMapControl1.TrackLine();
     86             }
     87             else if (flag == 2)
     88             {
     89                 geometry = axMapControl1.TrackCircle();
     90             }
     91             else  if (flag == 3)
     92             {
     93                 geometry = axMapControl1.TrackRectangle();
     94             }
     95             else if (flag == 4)
     96             {
     97                 geometry = axMapControl1.TrackPolygon();
     98             }
     99             else if (flag == 5)
    100             {
    101                 IPoint point = new ESRI.ArcGIS.Geometry.Point();
    102                 point.X = e.mapX;
    103                 point.Y = e.mapY;
    104                 geometry = point as IGeometry;
    105             }
    106             if (flag == 5)
    107             {
    108                 DrawMapText(geometry);
    109             }
    110             if (flag >= 1 && flag <= 4)
    111             {
    112                 DrawMapShape(geometry);
    113             }
    114         }
    115     }
    116 }
    View Code
  • 相关阅读:
    上涨、下跌、震荡,我只做下跌 (有钱人赚钱太有心机!
    股票操作指南
    股票要素与心理学研究
    时序图组成
    软件描述的静态与动态
    用dedecms做网站时,空间服务器选择IIS还是apache???
    dedecms 图集标签{dede:productimagelist} {dede:field name='imgurls'}&nbs
    dede内容页调用图片集下所有图片方法!
    dede文章插入分页符不起作用,编辑器中出现分页符,导致文章显示不全
    dede织梦怎么修改description的字数
  • 原文地址:https://www.cnblogs.com/rockman/p/3322692.html
Copyright © 2011-2022 走看看