zoukankan      html  css  js  c++  java
  • PIE SDK元素位置和显示样式的修改

     

    1功能简介

        在数据的处理中会出现根据需求进行元素的位置和显示样式的修改,使元素的形状,空间位置得到改变,下面将介绍基于PIE SDK的元素位置和显示样式的修改。

    2功能实现说

    2.1.1 实现思路及原理说明

    第一步

    设置元素Geometry的信息

    第二步

    获取元素的ID和设置修改后的元素Geometry信息

    第三步

    修改显示样式

    第四步

    更新元素

    2.1.2 核心接口与方法

    接口/类

    方法/属性

    说明

    IGraphicsContainer

    UpdateElement(string id, IElement element)

     更新元素

    2.1.3示例代码

    项目路径

    百度云盘地址下/PIE示例程序/08元素绘制/08元素的修改

    视频路径

    百度云盘地址下/PIE视频教程/08元素绘制/08元素的修改.avi

    示例代码

     1         /// <summary>
     2         /// 修改元素的位置和形状 以面元素为例
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void toolStripButton_ModifyElement_Click(object sender, EventArgs e)
     7         {
     8             //1.设置空间信息
     9             IPointCollection polygon = new Polygon();
    10             polygon.AddPoint(100, 100, 0);
    11             polygon.AddPoint(100, 200, 0);
    12             polygon.AddPoint(200, 200, 0);
    13             polygon.AddPoint(200, 100, 0);
    14             polygon.AddPoint(100, 100, 0);
    15 
    16             //2.设置面元素信息并在地图控件中显示
    17             IPolygonElement polyElement = new PolygonElement();
    18             polyElement.Geometry = polygon as IGeometry;
    19             polyElement.Symbol = SystemSymbolSetting.Instance.DefaultFillSymbol;
    20             string id = polyElement.GetID();            mapControlMain.ActiveView.GraphicsContainer.AddElement(polyElement);           mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
    21 
    22             //3.设置修改空间信息
    23             IPolygonElement polyElement2 = new PolygonElement();
    24             IPointCollection polygon1 = new Polygon();
    25             polygon1.AddPoint(100, 100, 0);
    26             polygon1.AddPoint(100, 300, 0);
    27             polygon1.AddPoint(400, 200, 0);
    28             polygon1.AddPoint(400, 100, 0);
    29             polygon1.AddPoint(100, 100, 0);
    30             polyElement2.Geometry = polygon1 as IGeometry;
    31 
    32             //4.设置修改的符号信息
    33             ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol();
    34             simpleFillSymbol.Style = SimpleFillStyle.SFSDense2Pattern;
    35             IFillSymbol fillSybol = simpleFillSymbol as IFillSymbol;
    36             fillSybol.Color = Color.Green;
    37             polyElement2.Symbol = fillSybol;
    38 
    39             //5修改更新元素            mapControlMain.ActiveView.GraphicsContainer.UpdateElement(id, polyElement2);//更新元素 
    40         }
    View Code

    2.1.4示例截图

     

    图一 修改前

     

    图二 修改后

  • 相关阅读:
    一些常用的库[转载]
    《三国演义》很给力演绎60条职场真理
    保证你现在和未来不失业的10种关键技【转载】
    百度面试题
    百度的一到算法i题
    FindMaxDeep
    csinglelink
    FindLongArray
    byte转hex,hex转byte
    获取异常信息
  • 原文地址:https://www.cnblogs.com/PIESat/p/10172483.html
Copyright © 2011-2022 走看看