1. 功能简介

在数据的处理中会用到线元素的绘制,目前PIE SDK支持IFillSymbol接口,FillSymbol对象是用于修饰填充面状对象的符号,它包括MarkerFillSymbol(由点状符号形成的填充面符号)、LineFillSymbol(由线状符号形成的填充面符号)、MultiLayerFillSymbol(多个符号叠加生成的新的填充面符号)、PictureFillSymbol(以图片为背景的填充面符号)、SimpleFillSymbol(简单类型的填充面符号)这5个不同类型填充面符号的子类。

2. 功能实现说明

2.1. SimpleFillSymbol类型的线元素的绘制

2.1.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置面的符号

第三步

绘制元素

2.1.2.  核心接口与方法

接口/类

方法/属性

说明

IPolygonElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

ISimpleFillSymbol

Style属性

获取或设置简单的面样式

IFillSymbol

Color属性

获取或设置面的颜色

2.1.3. 示例代码

项目路径

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

视频路径

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

示例代码

        /// <summary>
/// 简单填充样式的面元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawSimpleFillSyPolygon_Click(object sender, EventArgs e)
{
//定义空间位置
IPointCollection polygon = new PIE.Geometry.Polygon();
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
(polygon as IPolygon).CloseRings();
//定义面元素
IPolygonElement polyElement = new PIE.Carto.PolygonElement();
polyElement.Geometry = polygon as IGeometry; ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol();
simpleFillSymbol.Style = SimpleFillStyle.SFSDense2Pattern;
IFillSymbol fillSybol = simpleFillSymbol as IFillSymbol;
fillSybol.Color = Color.Green; polyElement.Symbol = fillSybol; mapControlMain.ActiveView.GraphicsContainer.AddElement(polyElement); mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.1.4. 示例截图

2.2. MarkerFillSymbol类型的点元素的绘制

2.2.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置面的符号

第三步

绘制元素

2.2.2.  核心接口与方法

接口/类

方法/属性

说明

IPolygonElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

IMarkerFillSymbol

MarkerSymbol属性

获取或设置点的符号样式

IFillSymbol

Color属性

获取或设置面的颜色

IMarkerSymbol

Size

获取或设置点的大小

Color

获取或设置颜色

2.2.3. 示例代码

项目路径

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

视频路径

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

示例代码

         /// <summary>
/// 由点状符号填充的面符号的面元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawMarkerSyPolygon_Click(object sender, EventArgs e)
{
IPointCollection polygon = new PIE.Geometry.Polygon();
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
(polygon as IPolygon).CloseRings();
//定义面元素
IPolygonElement polyElement = new PIE.Carto.PolygonElement();
polyElement.Geometry = polygon as IGeometry; IMarkerFillSymbol markerFillSymbol = new MarkerFillSymbol(); //ICharacterMarkerSymbol字符点状符号
ICharacterMarkerSymbol characterMSymbol = new CharacterMarkerSymbol();
characterMSymbol.CharacterIndex = ;//飞机
System.Drawing.Font font = new Font("ESRI Default Marker", );
characterMSymbol.Font = font;
//设置符号的大小,颜色,偏移量
IMarkerSymbol markSymbol = characterMSymbol as IMarkerSymbol;
markSymbol.XOffset = ;
markSymbol.YOffset = ;
markSymbol.Size = ;
markSymbol.Color = Color.Red; markerFillSymbol.MarkerSymbol = markSymbol;
IFillSymbol fillSymbol = markerFillSymbol as IFillSymbol; polyElement.Symbol = fillSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(polyElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.2.4 . 示例截图

2.3. LineFillSymbol类型的点元素的绘制

2.3.1. 实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置面的符号

第三步

绘制元素

2.3.2.  核心接口与方法

接口/类

方法/属性

说明

IPolygonElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

ILineFillSymbol

LineSymbol属性

获取或设置简单的面样式

Rotate

获取或设置旋转角度

Separation

获取或设置间距

IFillSymbol

Color属性

获取或设置面的颜色

ISimpleLineSymbol

style

获取或设置简单点的样式

ILineSymbol

Join

获取或设置线的连接方式

Color

获取或设置线的颜色

Cap

获取或设置线的线帽样式

2.3.3. 示例代码

项目路径

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

视频路径

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

示例代码

           /// <summary>
/// 线状填充样式的面元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton3_DrawLineSyPolygon_Click(object sender, EventArgs e)
{
//设置空间信息
IPointCollection polygon = new PIE.Geometry.Polygon();
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
(polygon as IPolygon).CloseRings();
//定义面元素
IPolygonElement polyElement = new PIE.Carto.PolygonElement();
polyElement.Geometry = polygon as IGeometry; ILineFillSymbol lineFillSymbol = new LineFillSymbol();
ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbol();
simpleLineSymbol.Style = SimpleLineStyle.SLSDashDot;
ILineSymbol lineSymbol = simpleLineSymbol as ILineSymbol;
lineSymbol.Join = LineJoinStyle.LJSBevel;
lineSymbol.Color = Color.Green;
lineSymbol.Cap = LineCapStyle.LCSRound; lineFillSymbol.LineSymbol = lineSymbol;
lineFillSymbol.Rotate = ;
lineFillSymbol.Separation = ; IFillSymbol fillSymbol = lineFillSymbol as IFillSymbol;
polyElement.Symbol = fillSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(polyElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.3.4. 示例截图

2.4. PictureFillSymbol类型的点元素的绘制

2.4.1. 实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置面的符号

第三步

绘制元素

2.4.2. 核心接口与方法

接口/类

方法/属性

说明

IPolygonElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

IPictureFillSymbol

CreateFromFile(string path)

获取或设置简单的面样式

XSeparation

获取或设置X方向间距

YSeparation

获取或设置Y方向缩放比例

XScale

获取或设X方向缩放比例

YScale

获取或设Y方向缩放比例

IFillSymbol

Color属性

获取或设置面的颜色

2.4.3. 示例代码

项目路径

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

视频路径

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

示例代码

        /// <summary>
/// 图片填充样式的面元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawPicSyPolygon_Click(object sender, EventArgs e)
{
//设置空间信息
IPointCollection polygon = new PIE.Geometry.Polygon();
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
(polygon as IPolygon).CloseRings();
//定义面元素
IPolygonElement polyElement = new PIE.Carto.PolygonElement();
polyElement.Geometry = polygon as IGeometry; IPictureFillSymbol picFillSymbol = new PictureFillSymbol();
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Picture File|*.bmp";
openFileDialog.Title = "选择一张图片:";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
picFillSymbol.CreateFromFile(openFileDialog.FileName);
picFillSymbol.XOffset = ;
picFillSymbol.YOffset = ;
picFillSymbol.XSeparation = ;
picFillSymbol.YSeparation = ;
picFillSymbol.XScale = ;
picFillSymbol.YScale = ;
picFillSymbol.Rotate = ; IFillSymbol fillSymbol = picFillSymbol as IFillSymbol;
polyElement.Symbol = fillSymbol; mapControlMain.ActiveView.GraphicsContainer.AddElement(polyElement); mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
IFillSymbol fillSymbol = picFillSymbol as IFillSymbol;
polyElement.Symbol = fillSymbol; m_mapControl.ActiveView.GraphicsContainer.AddElement(polyElement); m_mapControl.PartialRefresh(ViewDrawPhaseType.ViewAll);

2.4.4. 示例截图

2.5. MultiLayerFillSymbol类型的点元素的绘制

2.5.1 实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置面的符号

第三步

绘制元素

2.5.2. 核心接口与方法

接口/类

方法/属性

说明

IPolygonElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

IMultiLayerFillSymbol

AddLayer(…)

添加填充面符号图层

IFillSymbol

Color属性

获取或设置面的颜色

2.5.3. 示例代码

数据路径

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

视频路径

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

示例代码

         /// <summary>
/// 多个符号叠加生成的样式的面元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawMultiSyPolygon_Click(object sender, EventArgs e)
{
IPointCollection polygon = new PIE.Geometry.Polygon();
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
polygon.AddPoint(, , );
(polygon as IPolygon).CloseRings();
//定义面元素
IPolygonElement polyElement = new PIE.Carto.PolygonElement();
polyElement.Geometry = polygon as IGeometry; IMultiLayerFillSymbol multiLayerFillSymbol = new MultiLayerFillSymbol(); //ISimpleFillSymbol简单填充符号
ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol();
simpleFillSymbol.Style = SimpleFillStyle.SFSDense2Pattern;
IFillSymbol fillSybol = simpleFillSymbol as IFillSymbol;
fillSybol.Color = Color.Pink; //ILineFillSymbol 线填充符号
ILineFillSymbol lineFillSymbol = new LineFillSymbol(); //设置简单的线符号
ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbol();
simpleLineSymbol.Style = SimpleLineStyle.SLSDashDot;
ILineSymbol lineSymbol = simpleLineSymbol as ILineSymbol;
lineSymbol.Color = Color.Green;
lineSymbol.Join = LineJoinStyle.LJSMitre;
lineSymbol.Width = ;
lineSymbol.Cap = LineCapStyle.LCSSquare; lineFillSymbol.LineSymbol = lineSymbol;
IFillSymbol fillSymbol2 = lineFillSymbol as IFillSymbol; multiLayerFillSymbol.AddLayer(fillSybol, false);
multiLayerFillSymbol.AddLayer(fillSymbol2, false);
polyElement.Symbol = multiLayerFillSymbol as IFillSymbol; mapControlMain.ActiveView.GraphicsContainer.AddElement(polyElement); mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.5.4. 示例截图

PIE SDK面元素的绘制的更多相关文章

  1. PIE SDK点元素的绘制

    1. 功能简介 在数据的处理中会用到点元素的绘制,目前PIE SDK支持IMarkerSymbol的点元素的绘制,MarkerSymbol对象是用于修饰点状对象的符号,它包括ArrowMarkerSy ...

  2. PIE SDK线元素的绘制

    1. 功能简介 在数据的处理中会用到线元素的绘制,目前PIE SDK支持ILineSymbol的线元素的绘制,LineSymbol对象是用于修饰线状对象的符号,它包括CartographicLineS ...

  3. PIE SDK文本元素的绘制

    1. 功能简介 在数据的处理中会用到文本元素的绘制,利用ITextElement文本元素接口进行绘制,目前PIE SDK支持ITextSymbol符号接口,TextSymbol对象是用于修饰文字元素对 ...

  4. PIE SDK图片元素的绘制

    1. 功能简介 在数据的处理中会用到图片元素的绘制,利用IPictureElement图片元素接口进行绘制,目前PIE SDK支持IPictureElement元素接口的绘制,下面对图片元素的绘制进行 ...

  5. PIE SDK临时元素的绘制

    1. 功能简介 在数据的处理中会用到临时元素的绘制,用于当前显示:临时元素包括点.线.面.文本.图片五种元素:目前PIE SDK支持这五种元素的绘制,下面对五种临时元素的绘制功能进行介绍. 2. 功能 ...

  6. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  7. PIE SDK Command、Tool、Control的调用和拓展

    1.功能简介 在一个项目中,是通过小组成员共同开发的,难以避免的是当项目功能集成的时候会出现很多兼容性问题,开发讲究高内聚低耦合,利用Command.Tool和Control的使用,可以提升集成的效率 ...

  8. PIE SDK元素的保存与打开

    1.功能简介 绘制元素之后需要对元素进一步的保存操作,可以利用PIE SDK的ExportElementsCommand命令保存成xml格式的文件,打开元素可以利用ImportElementsComm ...

  9. PIE SDK元素位置和显示样式的修改

    1功能简介 在数据的处理中会出现根据需求进行元素的位置和显示样式的修改,使元素的形状,空间位置得到改变,下面将介绍基于PIE SDK的元素位置和显示样式的修改. 2功能实现说明 2.1.1 实现思路及 ...

随机推荐

  1. CSS3动画设置后台登录页背景切换图片

    CSS3的动画很实用很好用,简单几句话就可以做出一个好看而且过渡平滑的body背景图片,不多说,来来来,上代码 body{ animation:mybg 7s; -webkit-animation:m ...

  2. Linux 查看是64位还是32位

    [root@VM_7_88_centos ~]# uname -a Linux VM_7_88_centos 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36: ...

  3. 设计模式01: Singleton 单例模式(创建型模式)

    Singleton 单例模式(创建型模式) 动机(Motivation)当进行软件开发是会有这样一种需求:在系统中只有存在一个实例才能确保它们的逻辑正确性.以及良好的效率.这应该是类设计者的责任,而不 ...

  4. 并发编程学习笔记之Java存储模型(十三)

    概述 Java存储模型(JMM),安全发布.规约,同步策略等等的安全性得益于JMM,在你理解了为什么这些机制会如此工作后,可以更容易有效地使用它们. 1. 什么是存储模型,要它何用. 如果缺少同步,就 ...

  5. C# return、continue、break

    return 终止当前进程 可用循环判断,验证,等功能 if (ew == v) { PublicControlLib.Class.PublicProperties.ShowSuccess(); re ...

  6. Java Serializable(序列化)的理解和总结

    1.序列化是干什么的?       简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存object st ...

  7. 如何较为方便的在GMap.Net中实现车辆运行轨迹

    一.简单的思路 要实现车辆运行轨迹,我们可能需要一个定时触发的机制用来更新Marker的位置,除了位置移动,我们可能还需要动态改变车辆的方向,如下图: 首先,位置移动是最简单的,关键是方向的动态改变如 ...

  8. Spring Boot的每个模块包详解

    Spring Boot的每个模块包详解,具体如下: 1.spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. 2.spring-boot-s ...

  9. kali linux之端口扫描

    端口对应网络服务及应用端程序,服务端程序的漏洞通过端口攻入 发现开放的端口,有更具体的攻击面 nmap hping3 scapy都可以 nmap隐蔽扫描 扫描抓包 nmap僵尸扫描 先发现僵尸机,僵尸 ...

  10. PLSQL导出语句的查询结果

    不需要把全部结果都展示出来