将该线状符号对象在指定 Bitmap 位图的给定位置上绘制出来。绘制将采用屏幕坐标。
命名空间:
SuperMap.Data程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public override bool Draw( Bitmap bitmap, Geometry geometry ) |
参数
- bitmap
- Type: System.Drawing..::.Bitmap
指定的 Bitmap 位图。
- geometry
- Type: SuperMap.Data..::.Geometry
用来获取绘制位置的几何对象。
1. 如果绘制的是点状符号,那么将获取构成几何对象中的坐标点串,点状符号最终将绘制在所有的坐标点位上,几何对象可以是点、线、面任意类型的对象,包括二维参数化的点、线、面对象;
2. 如果绘制的是线状符号,那么将获取构成几何对象中的坐标点串,将这些坐标点作为线状符号的控制点来绘制由该线状符号表示的线,几何对象可以是线、面对象,包括二维参数化的线面对象;
3. 如果绘制的是填充符号,那么获取构成几何对象中的坐标点串,将这些坐标点构成的封闭以填充符号填充同时绘制出来,几何对象可以是能够构成封闭面区域的线,也可以是面,包括二维参数化的面以及能够构成封闭面区域的线。
返回值
一个布尔值,如果成功返回 true,失败返回 false。示例
以下代码示范如何将符号对象在指定 Bitmap 的给定位置上绘制出来。
假设打开一个工作空间 workspace,工作空间中包含一个数据源(datasource)。
CopyC#
public void SymbolExmaples(Workspace workspace) { // 取出数据源中的一个矢量数据集 datasetVector DatasetVector datasetVector = workspace.Datasources[0].Datasets[0] as DatasetVector; // 获取 datasetVector 的记录集,取出该记录集所对应的几何对象 Recordset recordset = datasetVector.GetRecordset(false, CursorType.Static); Geometry geometry = recordset.GetGeometry(); // 获取资源库类,从资源库获取填充符号库 Resources resources = workspace.Resources; SymbolLibrary symbolLibrary = resources.LineLibrary; // 获取符号库根组,取出根组的第一个符号 SymbolGroup symbolGroup = symbolLibrary.RootGroup; Symbol symbol = symbolGroup[0]; // 将该符号对象在指定 Bitmap 的给定位置上绘制出来 System.Drawing.Bitmap bitMap = new System.Drawing.Bitmap(400, 300); Console.WriteLine(symbol.Draw(bitMap, geometry)); // 释放资源 recordset.Dispose(); }