将该符号对象在指定 Bitmap 位图的给定位置上绘制出来。绘制将采用屏幕坐标。

命名空间:  SuperMap.Data
程序集:  SuperMap.Data (in SuperMap.Data)
版本: dll

语法

C#
public abstract 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();
}

请参见