com.supermap.data
类 Symbol

java.lang.Object
  继承者 com.supermap.data.Symbol
直接已知子类:
SymbolFill, SymbolLine, SymbolMarker, SymbolMarker3D

public abstract class Symbol
extends java.lang.Object

符号基类。

符号库中所有的符号类,包括点状符号类,线型符号类和填充符号类都继承自符号基类。


方法摘要
 boolean draw(java.awt.image.BufferedImage bitmap, Geometry geometry)
          将该符号对象在指定 Bitmap 位图的给定位置上绘制出来。
 boolean draw(java.awt.image.BufferedImage bitmap, Point2Ds points, GeoStyle style)
          将该符号对象在指定位图的给定位置上绘制出来。
 boolean draw(java.awt.Graphics graphics, Geometry geometry)
          将该符号对象在指定设备的给定位置上绘制出来。
 boolean draw(java.awt.Graphics graphics, Point2Ds points, GeoStyle style)
          将该符号对象在指定设备的给定位置上绘制出来。
 int getID()
          返回符号对象的 ID 号。
 SymbolLibrary getLibrary()
          返回该符号对象所在的符号库。
 java.lang.String getName()
          返回符号对象的名称,在同一个符号库中的符号对象的名称可以重复。
 SymbolType getType()
          返回符号对象的类型。
 void setName(java.lang.String value)
          设置符号对象的名称,在同一个符号库中的符号对象的名称可以重复。
 java.lang.String toString()
          返回描述符号对象的字符串,格式为{Name=,ID=}。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

方法详细信息

getName

public java.lang.String getName()
返回符号对象的名称,在同一个符号库中的符号对象的名称可以重复。

返回:
符号对象的名称。

setName

public void setName(java.lang.String value)
设置符号对象的名称,在同一个符号库中的符号对象的名称可以重复。

参数:
value - 符号对象的名称。

getID

public int getID()
返回符号对象的 ID 号。在同一个符号库中的符号对象的ID号不可以重复。

返回:
符号对象的 ID 号。

getLibrary

public SymbolLibrary getLibrary()
返回该符号对象所在的符号库。

返回:
该符号对象所在的符号库。

draw

public boolean draw(java.awt.Graphics graphics,
                    Geometry geometry)
将该符号对象在指定设备的给定位置上绘制出来。绘制将采用屏幕坐标。

参数:
graphics - 指定的目标设备。
geometry - 用来返回绘制位置的几何对象。
  1. 如果绘制的是点状符号,那么将返回构成几何对象中的坐标点串,点状符号最终将绘制在所有的坐标点位上,几何对象可以是点、线、面任意类型的对象,包括二维参数化的点、线、面对象;
  2. 如果绘制的是线状符号,那么将返回构成几何对象中的坐标点串,将这些坐标点作为线状符号的控制点来绘制由该线状符号表示的线,几何对象可以是线、面对象,包括二维参数化的线、面对象;
  3. 如果绘制的是填充符号,那么返回构成几何对象中的坐标点串,将这些坐标点构成的封闭区域以填充符号填充同时绘制出来,几何对象可以是能够构成封闭面区域的线,也可以是面,包括二维参数化的面以及能够构成封闭面区域的线。
返回:
绘制成功返回 true;失败返回 false。

draw

public boolean draw(java.awt.image.BufferedImage bitmap,
                    Geometry geometry)
将该符号对象在指定 Bitmap 位图的给定位置上绘制出来。绘制将采用屏幕坐标。

参数:
bitmap - 指定的位图。
geometry - 用来返回绘制位置的几何对象。
  1. 如果绘制的是点状符号,那么将返回构成几何对象中的坐标点串,点状符号最终将绘制在所有的坐标点位上,几何对象可以是点、线、面任意类型的对象,包括二维参数化的点、线、面对象;
  2. 如果绘制的是线状符号,那么将返回构成几何对象中的坐标点串,将这些坐标点作为线状符号的控制点来绘制由该线状符号表示的线,几何对象可以是线、面对象,包括二维参数化的线、面对象;
  3. 如果绘制的是填充符号,那么返回构成几何对象中的坐标点串,将这些坐标点构成的封闭区域以填充符号填充同时绘制出来,几何对象可以是能够构成封闭面区域的线,也可以是面,包括二维参数化的面以及能够构成封闭面区域的线。
返回:
绘制成功返回 true;失败返回 false。
示例:
 public void drawTest(){
        // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象
        // 取出该数据源中的一个矢量数据集 datasetVector
        // 返回 datasetVector 的记录集,取出该记录集所对应的几何对象
        DatasetVector datasetVector = (DatasetVector) datasets.get(0);
        Recordset recordset = datasetVector.getRecordset(false,
                CursorType.STATIC);
        Geometry geometry = recordset.getGeometry();

        // 返回资源库类,从资源库返回填充符号库
        Resources resources = workspace.getResources();
        SymbolLibrary symbolLibrary = resources.getLineLibrary();

        // 返回符号库根组,取出根组的第一个符号
        SymbolGroup symbolGroup = symbolLibrary.getRootGroup();
        Symbol symbol = symbolGroup.get(0);

        // 将该符号对象在指定 BufferedImage 位图的给定位置上绘制出来
        java.awt.image.BufferedImage bufferedImage = new java.awt.image.BufferedImage(400, 300,
                java.awt.image.BufferedImage.TYPE_INT_RGB);
        System.out.println(symbol.draw(bufferedImage, geometry));

        // 释放资源
        recordset.dispose();
    }
 

draw

public boolean draw(java.awt.Graphics graphics,
                    Point2Ds points,
                    GeoStyle style)
将该符号对象在指定设备的给定位置上绘制出来。绘制将采用屏幕坐标。

参数:
graphics - 指定的目标设备。
points - 用于指定绘制位置的坐标点串。
  1. 如果绘制的是点状符号,那么点状符号最终将绘制在所有的坐标点位上;
  2. 如果绘制的是线状符号,那么将这些坐标点作为线状符号的控制点来绘制由该线状符号表示的线,此坐标点集合中必须含有两个(包含两个)以上的坐标点;
  3. 如果绘制的是填充符号,那么将这些坐标点构成的封闭区域以填充符号填充,同时绘制出来,要求坐标点串中至少包含三个且不共线的坐标点。
style - 指定的绘制的符号的风格,该参数可以为 null,当该参数为 null 时,符号的风格将采用默认样式。
返回:
绘制成功返回 true;失败返回 false。

draw

public boolean draw(java.awt.image.BufferedImage bitmap,
                    Point2Ds points,
                    GeoStyle style)
将该符号对象在指定位图的给定位置上绘制出来。绘制将采用屏幕坐标。

参数:
bitmap - 指定的位图。
points - 用于指定绘制位置的坐标点串。
  1. 如果绘制的是点状符号,那么点状符号最终将绘制在所有的坐标点位上;
  2. 如果绘制的是线状符号,那么将这些坐标点作为线状符号的控制点来绘制由该线状符号表示的线,此坐标点集合中必须含有两个(包含两个)以上的坐标点;
  3. 如果绘制的是填充符号,那么将这些坐标点构成的封闭区域以填充符号填充,同时绘制出来,要求坐标点串中至少包含三个且不共线的坐标点。
style - 指定的绘制的符号的风格,该参数可以为 null,当该参数为 null 时,符号的风格将采用默认样式。
返回:
绘制成功返回 true;失败返回 false。

toString

public java.lang.String toString()
返回描述符号对象的字符串,格式为{Name=,ID=}。

覆盖:
java.lang.Object 中的 toString
返回:
描述符号对象的字符串。

getType

public SymbolType getType()
返回符号对象的类型。有二维点符号、二维线型符号和二维填充符号三种类型。

返回:
符号对象的类型。