1. 功能简介

在数据的处理中会用到线元素的绘制,目前PIE SDK支持ILineSymbol的线元素的绘制,LineSymbol对象是用于修饰线状对象的符号,它包括CartographicLineSymbol(制图形式的线符号)、MarkerLineSymbol(由点状符号形成的线符号)、MultiLayerLineSymbol(多个符号叠加生成的新的线符号)、PictureLineSymbol(以图片为背景的线符号)、SimpleLineSymbol(简单类型的线符号)这5个不同类型线符号的子类。

2. 功能实现说明

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

2.1.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置线的符号

第三步

绘制元素

2.1.2.  核心接口与方法

接口/类

方法/属性

说明

ILineElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

ISimpleLineSymbol

Style属性

线样式

IsDrawOutline

是否绘制轮廓线

ILineSymbol

Color属性

获取或设置线的颜色

Width属性

获取或设置线的宽度

Cap属性

获取或设置线帽的样式

Join属性

获取或设置线的连接样式

2.1.3. 示例代码

项目路径

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

视频路径

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

示例代码

         /// <summary>
/// 绘制简单样式线符号的线元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param> private void toolStripButton_DrawSimpleSyLine_Click(object sender, EventArgs e)
{ //IPolyline polyline = mapControl1.TrackLine();
//定义空间位置
IPointCollection polyLine = new Polyline();
polyLine.AddPoint(, , );
polyLine.AddPoint(, , );
//定义线元素
ILineElement lineElement = new PIE.Carto.LineElement();
lineElement.Geometry = polyLine as IGeometry; ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbol();
simpleLineSymbol.Style = SimpleLineStyle.SLSDashDot; //设置符号的颜色,线宽,线帽样式,连接样式,偏移大小
ILineSymbol lineSymbol = simpleLineSymbol as ILineSymbol;
lineSymbol.Color = Color.Green;
lineSymbol.Width = ;
lineSymbol.Cap = LineCapStyle.LCSRound;
lineSymbol.Join = LineJoinStyle.LJSBevel;
// lineSymbol.Offset = 20; lineElement.Symbol = lineSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(lineElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.1.4. 示例截图

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

2.2.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置线的符号

第三步

绘制元素

2.2.2.  核心接口与方法

接口/类

方法/属性

说明

ILineElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

IMarkerLineSymbol

Interval属性

获取或设置线的间距

IMarkerSymbol

Color,Size,XOffset,YOffset

颜色大小等属性

ILineSymbol

Color属性

获取或设置线的颜色

Width属性

获取或设置线的宽度

Cap属性

获取或设置线帽的样式

Join属性

获取或设置线的连接样式

2.2.3. 示例代码

项目路径

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

视频路径

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

示例代码

         /// <summary>
/// 点状填充的线绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawMarkerSyLine_Click(object sender, EventArgs e)
{
//IPolyline polyline = mapControl1.TrackLine();
//定义空间位置
IPointCollection polyLine = new Polyline();
polyLine.AddPoint(, , );
polyLine.AddPoint(, , );
//定义线元素
ILineElement lineElement = new PIE.Carto.LineElement();
lineElement.Geometry = polyLine as IGeometry; IMarkerLineSymbol markerLineSymbol = new MarkerLineSymbol();
markerLineSymbol.Interval = ;
//设置线状符号IMarkerLineSymbol的点符号样式 ISimpleMarkerSymbol simpleMarkerSymbol = new SimpleMarkerSymbol();
simpleMarkerSymbol.IsDrawOutline = true;
simpleMarkerSymbol.Style = SimpleMarkerStyle.SMSX;
IMarkerSymbol markerSymbol = simpleMarkerSymbol as IMarkerSymbol;
markerSymbol.Color = System.Drawing.Color.Green;
markerSymbol.Size = ;
markerSymbol.XOffset = ;
markerSymbol.YOffset = ;
markerLineSymbol.MarkerSymbol = markerSymbol; ILineSymbol lineSymbol = markerLineSymbol as ILineSymbol;
lineElement.Symbol = lineSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(lineElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.2.4. 示例截图

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

2.3.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置线的符号

第三步

绘制元素

2.3.2.  核心接口与方法

接口/类

方法/属性

说明

ILineElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

ICartographicLineSymbol

DashPattern属性

获取或设置制线图规则

Width

获取或设置制图线的宽度

Interval

获取或设置线的间隔

ILineSymbol

Color属性

获取或设置线的颜色

Width属性

获取或设置线的宽度

Cap属性

获取或设置线帽的样式

Join属性

获取或设置线的连接样式

2.3.3. 示例代码

项目路径

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

视频路径

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

示例代码

          /// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawCartoSyLine_Click(object sender, EventArgs e)
{
//IPolyline polyline = mapControl1.TrackLine();
//定义空间位置
IPointCollection polyLine = new Polyline();
polyLine.AddPoint(, , );
polyLine.AddPoint(, , );
//定义线元素
ILineElement lineElement = new PIE.Carto.LineElement();
lineElement.Geometry = polyLine as IGeometry; ICartographicLineSymbol cartoLineSymbol = new CartographicLineSymbol();
IList<double> IList = new List<double>();
IList.Add();
IList.Add();
IList.Add();
cartoLineSymbol.DashPattern = IList;//制图线规则
cartoLineSymbol.Width = ;
cartoLineSymbol.Interval = ;
///设置符号颜色,偏移量,线帽样式,连接样式
ILineSymbol lineSymbol = cartoLineSymbol as ILineSymbol;
lineSymbol.Color = Color.Green;
lineSymbol.Offset = ;
lineSymbol.Cap = LineCapStyle.LCSRound;
lineSymbol.Join = LineJoinStyle.LJSRound; lineElement.Symbol = lineSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(lineElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.3.4. 示例截图

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

2.4.1. 实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置线的符号

第三步

绘制元素

2.4.2.  核心接口与方法

接口/类

方法/属性

说明

ILineElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

IPictureLineSymbol

CreateFromFile()

从文件创建

XScale()

获取或者设置X方向缩放比例

YScale()

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

ILineSymbol

Color属性

获取或设置线的颜色

Width属性

获取或设置线的宽度

Cap属性

获取或设置线帽的样式

Join属性

获取或设置线的连接样式

MiterLimit

获取或设置线的MiterLimit

2.4.3. 示例代码

项目路径

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

视频路径

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

示例代码

         /// <summary>
/// 图片为填充背景的线绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawPicSyLine_Click(object sender, EventArgs e)
{
//IPolyline polyline = mapControl1.TrackLine();
//定义空间位置
IPointCollection polyLine = new Polyline();
polyLine.AddPoint(, , );
polyLine.AddPoint(, , );
//定义线元素
ILineElement lineElement = new PIE.Carto.LineElement();
lineElement.Geometry = polyLine as IGeometry; IPictureLineSymbol picLineSymbol = new PictureLineSymbol();
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Picture File|*.bmp";
openFileDialog.Title = "请选择一整图片:";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
bool ok = picLineSymbol.CreateFromFile(openFileDialog.FileName);
if (ok)
{
picLineSymbol.XScale = 0.5;
picLineSymbol.YScale = 0.5; ILineSymbol lineSymbol = picLineSymbol as ILineSymbol;
lineSymbol.Width = ;
lineSymbol.Offset = ;
lineSymbol.MiterLimit = ;
lineElement.Symbol = lineSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(lineElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
}

2.4.4. 示例截图

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

2.5.1. 实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置线的符号

第三步

绘制元素

2.5.2.  核心接口与方法

接口/类

方法/属性

说明

ILineElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加元素

IMultiLayerLineSymbol

AddLayer()

添加线符号样式图层

ILineSymbol

Color属性

获取或设置线的颜色

Width属性

获取或设置线的宽度

Cap属性

获取或设置线帽的样式

Join属性

获取或设置线的连接样式

2.5.3. 示例代码

项目路径

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

视频路径

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

示例代码

    /// <summary>
/// 多个符号叠加生成的线样式的线绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawMultiSyLine_Click(object sender, EventArgs e)
{
//定义空间位置
IPointCollection polyLine = new Polyline();
polyLine.AddPoint(, , );
polyLine.AddPoint(, , );
//定义线元素
ILineElement lineElement = new PIE.Carto.LineElement();
lineElement.Geometry = polyLine as IGeometry; #region IMultiLayerLineSymbol多个符号生成的线组成的符号
IMultiLayerLineSymbol mulLayerLineSymbol = new MultiLayerLineSymbol();
//IPictureLineSymbol图片符号
IPictureLineSymbol picLineSymbol = new PictureLineSymbol();
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Picture File|*.bmp";
openFileDialog.Title = "请选择一整图片:";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
bool ok = picLineSymbol.CreateFromFile(openFileDialog.FileName);
ILineSymbol lineSymbol = picLineSymbol as ILineSymbol;
if (ok)
{
picLineSymbol.XScale = 0.5;
picLineSymbol.YScale = 0.5;
lineSymbol.Width = ;
lineSymbol.Offset = ;
lineSymbol.MiterLimit = ;
} //IMarkLineSymbol
ISimpleMarkerSymbol simpleMarkerSymbol = new SimpleMarkerSymbol();
simpleMarkerSymbol.Style = SimpleMarkerStyle.SMSCircle;
simpleMarkerSymbol.IsDrawOutline = true;
IMarkerSymbol markerSymbol = simpleMarkerSymbol as IMarkerSymbol;
markerSymbol.Size = ;
markerSymbol.Color = Color.Green; IMarkerLineSymbol markerLineSymbol = new MarkerLineSymbol();
markerLineSymbol.MarkerSymbol = markerSymbol; ILineSymbol lineSymbol2 = markerLineSymbol as ILineSymbol;
mulLayerLineSymbol.AddLayer(lineSymbol, false);
mulLayerLineSymbol.AddLayer(lineSymbol2, false); lineElement.Symbol = mulLayerLineSymbol as ILineSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(lineElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
#endregion
}

2.5.4. 示例截图

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

  1. PIE SDK临时元素的绘制

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

  2. PIE SDK点元素的绘制

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

  3. PIE SDK文本元素的绘制

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

  4. PIE SDK图片元素的绘制

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

  5. PIE SDK面元素的绘制

    1. 功能简介 在数据的处理中会用到线元素的绘制,目前PIE SDK支持IFillSymbol接口,FillSymbol对象是用于修饰填充面状对象的符号,它包括MarkerFillSymbol(由点状 ...

  6. PIE SDK元素的删除

    1功能简介 元素删除是将根据需求将不符合的元素进行删除,PIE SDK支持元素的删除操作,下面对元素的删除功能进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一步 获取已经选择的元素 第 ...

  7. PIE SDK元素的选择和取消选择

    1功能简介 在数据的查看等时候会用到元素的选择, 目前PIE SDK支持元素的选择和去取消选择功能,下面对这两种功能如何使用进行介绍. 2功能实现说明 2.1元素的选择 2.1.1 实现思路及原理说明 ...

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

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

  9. 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 ...

随机推荐

  1. Part10-C语言环境初始化-栈初始化lesson1

    1.概念解析 ARM系统使用的是满栈! ARM采用降栈!!! 栈帧 每一个进程会有一个栈,该进程中的每一个函数会分割栈的一部分,那么每一个函数使用的那部分栈就叫做栈帧.那么所有栈帧组成了整个栈. 子函 ...

  2. 浏览器访问www.meituan.com过程

    “从浏览器输入 xxx 到跳转完成的过程发生了什么”,是一个常见的比较综合的面试题,以下是我查阅了一些资料后总结的,如有错误,还望批评指正.(以美团网为例) 1.在浏览器地址栏输入:meituan.c ...

  3. 享元(Flyweight)模式

    享元(Flyweight)模式:运用共享技术有效的支持大量细粒度的对象. /* * 抽象享元(Flyweight)角色:此角色是所有的具体享元类的超类,为这些类规定出需要实现的公共接口. 那些需要外蕴 ...

  4. Redis缓存穿透、缓存雪崩

    缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义. ...

  5. .Net Core 项目区域请求设置

    .net core 和asp.net MVC区域请求有个区别,这里重点记录一下 asp.net MVC 区域请求直接是/区域名称/控制名称/方法名称,其他不需要设置任何东西,而Core 项目这样请求路 ...

  6. asp.net mvc 请求处理流程,记录一下。

    asp.net mvc 请求处理流程,记录一下.

  7. 【kudu pk parquet】TPC-H Query2对比解析

    这是[kudu pk parquet]的第二篇,query2在kudu和parquet上的对比解析,其中kudu包含有不能下发的谓词. 3台物理机,1T规模的数据集,impala和kudu版本是我们修 ...

  8. Mybatis 延迟加载策略

    延迟加载: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. 好处: 先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速 ...

  9. 洛谷P1251 餐巾计划问题(费用流)

    传送门 不得不说这题真是思路清奇,真是网络流的一道好题,完全没想到网络流的建图还可以这么建 我们把每一个点拆成两个点,分别表示白天和晚上,白天可以得到干净的餐巾(购买的,慢洗的,快洗的),晚上可以得到 ...

  10. SHELL编程之case与函数

    一.case语句概述 使用case语句改写if多分支可以使脚本结构更加清晰.层次分明 针对变量不同取值,执行不同的命令序列 case语句结构如下: case 变量值  in 模式1) 命令序列1 ;; ...