com.supermap.data
类 TextStyle

java.lang.Object
  继承者 com.supermap.data.TextStyle

public class TextStyle
extends java.lang.Object

文本风格类。

用于设置 GeoText 类对象的风格。当文本风格对象实例使用 dispose()方法释放后再调用该对象成员,将抛出 ObjectDisposedException 异常。

示例:
以下代码示范如何将自定义的文本风格应用于文本对象,并将文本对象输出为 jpg 图片。
 public void textStyleTest(){
        // 假设打开一个工作空间 workspace 对象
        // 设置文本风格
        TextStyle textStyle = new TextStyle();
        textStyle.setRotation(30.0);
        textStyle.setShadow(true);
        textStyle.setAlignment(TextAlignment.TOPCENTER);
        textStyle.setBackColor(java.awt.Color.BLUE);
        textStyle.setForeColor(java.awt.Color.BLACK);
        textStyle.setBackOpaque(true);
        textStyle.setBold(true);
        textStyle.setFontName("宋体");
        textStyle.setFontHeight(100.0);
        textStyle.setFontWidth(100.0);
        textStyle.setSizeFixed(true);
        textStyle.setItalic(true);
        textStyle.setOutline(true);
        textStyle.setStrikeout(true);
        textStyle.setUnderline(true);
        textStyle.setWeight(500);
        System.out.println("文本风格为:"+ textStyle.toString());

        // 将文本风格应用于文本对象
        GeoText geotext = new GeoText();
        TextPart part = new TextPart("SuperMap", new Point2D(150, 150), 10.0);
        geotext.addPart(part);
        geotext.setTextStyle(textStyle);

        // 实例化 Map 对象
        Map map = new Map(workspace);

        // 将文本对象添加到地图的跟踪图层,出图显示
        map.getTrackingLayer().add(geotext, "");
        map.setViewBounds(new Rectangle2D(new Point2D(0, 0),
                                          new Point2D(300, 300)));
        map.outputMapToJPG("G:/world/textstyle");

        // 释放资源
        part.dispose();
        geotext.dispose();
        textStyle.dispose();
        workspace.dispose();
    }
 

构造方法摘要
TextStyle()
          构造一个新的 TextStyle 对象。
TextStyle(TextStyle textStyle)
          根据给定的 TextStyle 对象构造一个与其完全相同的新对象。
 
方法摘要
 TextStyle clone()
          返回当前 GeoBox 对象的一个拷贝。
 void dispose()
          释放该对象所占用的资源。
 boolean fromXML(java.lang.String xml)
          根据传入的 XML 字符串重新构造该 TextStyle 对象。
 TextAlignment getAlignment()
          返回文本的对齐方式。
 java.awt.Color getBackColor()
          返回文本的背景色。
 boolean getBackOpaque()
          返回文本背景是否不透明,true 表示文本背景不透明。
 boolean getBold()
          返回文本是否为粗体字,true 表示为粗体。
 int getBorderSpacingWidth()
          返回文字背景矩形框边缘与文字边缘的间隔,单位为:像素。
 double getFontHeight()
          返回文本字体的高度。
 java.lang.String getFontName()
          返回文本字体的名称。
 double getFontScale()
          返回注记字体的缩放比例。
 double getFontWidth()
          返回文本的宽度。
 java.awt.Color getForeColor()
          返回文本的前景色。
 boolean getItalic()
          返回文本是否采用斜体,true 表示采用斜体。
 double getItalicAngle()
          返回字体倾斜角度,正负度之间,以度为单位,精确到0.1度。
 int getOpaqueRate()
          返回注记文字的不透明度。
 boolean getOutline()
          返回是否以轮廓的方式来显示文本的背景。
 int getOutlineWidth()
          返回文本轮廓的宽度,数值的单位为:像素,数值范围是从0到5之间的任意整数。
 double getRotation()
          返回文本旋转的角度。
 boolean getShadow()
          返回文本是否有阴影。
 boolean getStrikeout()
          返回文本字体是否加删除线。
 StringAlignment getStringAlignment()
          返回文本的排版方式,可以对多行文本设置左对齐、右对齐、居中对齐、两端对齐。
 boolean getUnderline()
          返回文本字体是否加下划线。
 int getWeight()
          返回文本字体的磅数,表示粗体的具体数值。
 boolean isSizeFixed()
          返回文本大小是否固定。
 void setAlignment(TextAlignment value)
          设置文本的对齐方式。
 void setBackColor(java.awt.Color value)
          设置文本的背景色。
 void setBackOpaque(boolean value)
          设置文本背景是否不透明,true 表示文本背景不透明。
 void setBold(boolean value)
          设置文本是否为粗体字,true 表示为粗体。
 void setBorderSpacingWidth(int value)
          设置文字背景矩形框边缘与文字边缘的间隔,单位为:像素。
 void setFontHeight(double value)
          设置文本字体的高度。
 void setFontName(java.lang.String value)
          设置文本字体的名称。
 void setFontScale(double value)
          设置注记字体的缩放比例。
 void setFontWidth(double value)
          设置文本的宽度。
 void setForeColor(java.awt.Color value)
          设置文本的前景色。
 void setItalic(boolean value)
          设置文本是否采用斜体,true 表示采用斜体。
 void setItalicAngle(double value)
          设置字体倾斜角度,正负度之间,以度为单位,精确到0.1度。
 void setOpaqueRate(int value)
          设置注记文字的不透明度。
 void setOutline(boolean value)
          设置是否以轮廓的方式来显示文本的背景。
 void setOutlineWidth(int value)
          设置文本轮廓的宽度,数值的单位为:像素,数值范围是从0到5之间的任意整数,其中设置为0值时表示没有轮廓。
 void setRotation(double value)
          设置文本旋转的角度。
 void setShadow(boolean value)
          设置文本是否有阴影。
 void setSizeFixed(boolean value)
          设置文本大小是否固定。
 void setStrikeout(boolean value)
          设置文本字体是否加删除线。
 void setStringAlignment(StringAlignment stringAlignment)
          设置文本的排版方式,可以对多行文本设置左对齐、右对齐、居中对齐、两端对齐。
 void setUnderline(boolean value)
          设置文本字体是否加下划线。
 void setWeight(int value)
          设置文本字体的磅数,表示粗体的具体数值。
 java.lang.String toString()
          返回一个表示此文本风格类对象的格式化字符串。
 java.lang.String toXML()
          返回表示 TextStyle 对象的 XML 字符串。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

TextStyle

public TextStyle()
构造一个新的 TextStyle 对象。


TextStyle

public TextStyle(TextStyle textStyle)
根据给定的 TextStyle 对象构造一个与其完全相同的新对象。

参数:
textStyle - 指定的 TextStyle 对象。
抛出:
ObjectDisposedException - 如果 TextStyle 执行完 dispose()被释放后再被传入。
方法详细信息

dispose

public void dispose()
释放该对象所占用的资源。调用该方法之后,此对象不再可用。


getAlignment

public TextAlignment getAlignment()
返回文本的对齐方式。

返回:
一个 TextAlignment 对象。
抛出:
java.lang.EnumConstantNotPresentException - 如果返回的文本对齐方式不是 TextAlignment 类中的常量。
默认值:
默认是文本左上角对齐(TextAlignment.TOPLEFT)。

setAlignment

public void setAlignment(TextAlignment value)
设置文本的对齐方式。

setAlignment() 的参数不是 TextAlignment 类中的常量时,则抛出 EnumConstantNotPresentException 异常。

参数:
value - 指定文本的对齐方式。
抛出:
java.lang.EnumConstantNotPresentException - 如果设置的文本对齐方式不是 TextAlignment 类中的常量。

getBackColor

public java.awt.Color getBackColor()
返回文本的背景色。

返回:
文本的背景色。
默认值:
默认颜色为黑色。

setBackColor

public void setBackColor(java.awt.Color value)
设置文本的背景色。

参数:
value - 文本的背景色。

getBold

public boolean getBold()
返回文本是否为粗体字,true 表示为粗体。

返回:
如果文本为粗体字,返回 true;否则返回 false。
默认值:
默认值为 false,即文本不是粗体字。

setBold

public void setBold(boolean value)
设置文本是否为粗体字,true 表示为粗体。

参数:
value - 指定文本是否为粗体字。

getForeColor

public java.awt.Color getForeColor()
返回文本的前景色。

返回:
文本的前景色。
默认值:
默认色为黑色。

setForeColor

public void setForeColor(java.awt.Color value)
设置文本的前景色。

参数:
value - 文本的前景色。

isSizeFixed

public boolean isSizeFixed()
返回文本大小是否固定。false,表示文本为非固定尺寸的文本。

返回:
如果文本为固定尺寸,返回 true;否则返回 false。
默认值:
默认为 true,表示固定尺寸。

setSizeFixed

public void setSizeFixed(boolean value)
设置文本大小是否固定。false,表示文本为非固定尺寸的文本。

参数:
value - 指定文本大小是否固定。

getFontHeight

public double getFontHeight()
返回文本字体的高度。在固定大小时单位为1毫米,否则使用地理坐标单位。

返回:
文本字体的高度。
默认值:
默认值为 6。

setFontHeight

public void setFontHeight(double value)
设置文本字体的高度。在固定大小时单位为1毫米,否则使用地理坐标单位。

参数:
value - 文本字体的高度。

getFontWidth

public double getFontWidth()
返回文本的宽度。字体的宽度以英文字符为标准,由于一个中文字符相当于两个英文字符。在固定大小时单位为1毫米,否则使用地理坐标单位。

返回:
文本的宽度。
默认值:
默认值为 0。

setFontWidth

public void setFontWidth(double value)
设置文本的宽度。字体的宽度以英文字符为标准,由于一个中文字符相当于两个英文字符。在固定大小时单位为1毫米,否则使用地理坐标单位。

参数:
value - 文本的宽度。

getFontName

public java.lang.String getFontName()
返回文本字体的名称。

如果在Windows平台下对地图中的文本图层指定了某种字体,并且该地图数据需要在Linux平台下进行应用,那么请确保您的Linux平台下也存在同样的字体,否则,文本图层的字体显示效果会有问题。

返回:
文本字体的名称。
默认值:
文本字体的名称的默认值为 "Times New Roman"。

setFontName

public void setFontName(java.lang.String value)
设置文本字体的名称。

如果在Windows平台下对地图中的文本图层指定了某种字体,并且该地图数据需要在Linux平台下进行应用,那么请确保您的Linux平台下也存在同样的字体,否则,文本图层的字体显示效果会有问题。

参数:
value - 文本字体的名称。

getItalic

public boolean getItalic()
返回文本是否采用斜体,true 表示采用斜体。

返回:
如果文本采用斜体,返回 true;否则返回 false。
默认值:
默认值为 false,即不采用斜体。

setItalic

public void setItalic(boolean value)
设置文本是否采用斜体,true 表示采用斜体。

参数:
value - 指定注记是否采用斜体。

getItalicAngle

public double getItalicAngle()
返回字体倾斜角度,正负度之间,以度为单位,精确到0.1度。当倾斜角度为0度,为系统默认的字体倾斜样式。

正负度是指以纵轴为起始零度线,其纵轴左侧为正,右侧为负。允许的最大角度为60,最小-60。大于60按照60处理,小于-60按照-60处理。如图所示,字体倾斜角度在正负30度时的效果。

目前只对标签专题图有效。

返回:
字体倾斜角度。
默认值:
默认值为 0。

setItalicAngle

public void setItalicAngle(double value)
设置字体倾斜角度,正负度之间,以度为单位,精确到0.1度。当倾斜角度为0度,为系统默认的字体倾斜样式。

正负度是指以纵轴为起始零度线,其纵轴左侧为正,右侧为负。允许的最大角度为60,最小-60。大于60按照60处理,小于-60按照-60处理。如图所示,字体倾斜角度在正负30度时的效果。

目前只对标签专题图有效。

参数:
value - 字体倾斜角度。

getOutline

public boolean getOutline()
返回是否以轮廓的方式来显示文本的背景。false,表示不以轮廓的方式来显示文本的背景。

返回:
如果是以轮廓的方式来显示文本,则返回 true;否则返回 false。
默认值:
默认值为 false,表示不以轮廓的方式来显示文本的背景。

setOutline

public void setOutline(boolean value)
设置是否以轮廓的方式来显示文本的背景。false,表示不以轮廓的方式来显示文本的背景。

参数:
value - 指定是否以轮廓的方式来显示文本的背景。

getRotation

public double getRotation()
返回文本旋转的角度。逆时针方向为正方向,单位为度。

文本对象通过数据引擎存储后返回的旋转角度,精度为 0.1 度;通过构造函数直接构造的文本对象,返回的旋转角度精度不变。

返回:
文本旋转的角度。
默认值:
默认值为 0.0。

setRotation

public void setRotation(double value)
设置文本旋转的角度。逆时针方向为正方向,单位为度。

参数:
value - 文本旋转的角度。

getShadow

public boolean getShadow()
返回文本是否有阴影。true 表示给文本增加阴影。

返回:
如果文本有阴影,则返回 true;否则返回 false。
默认值:
默认值为 false, 即文本没有阴影。

setShadow

public void setShadow(boolean value)
设置文本是否有阴影。true 表示给文本增加阴影。

参数:
value - 指定文本是否有阴影。

getStrikeout

public boolean getStrikeout()
返回文本字体是否加删除线。true 表示加删除线。

返回:
如果文本字体加删除线,则返回 true;否则返回 false。
默认值:
默认值为 false,即文本字体不加删除线。

setStrikeout

public void setStrikeout(boolean value)
设置文本字体是否加删除线。true 表示加删除线。

参数:
value - 文本字体是否加删除线。

getBackOpaque

public boolean getBackOpaque()
返回文本背景是否不透明,true 表示文本背景不透明。

返回:
如果文本背景不透明,则返回 true;否则返回 false。
默认值:
默认为 false,即文本背景透明。

setBackOpaque

public void setBackOpaque(boolean value)
设置文本背景是否不透明,true 表示文本背景不透明。

参数:
value - 指定文本背景是否不透明。

getUnderline

public boolean getUnderline()
返回文本字体是否加下划线。true 表示加下划线。

返回:
如果文本字体加下划线,则返回 true;否则返回 false。
默认值:
默认值为 false,即文本字体不加下划线。

setUnderline

public void setUnderline(boolean value)
设置文本字体是否加下划线。true 表示加下划线。

参数:
value - 指定文本字体是否加下划线。

getWeight

public int getWeight()
返回文本字体的磅数,表示粗体的具体数值。取值范围为从0-900之间的整百数,如400表示正常显示,700表示为粗体,可参见微软 MSDN 帮助中关于 LOGFONT 类的介绍。

返回:
文本字体的磅数。
默认值:
文本字体的磅数,默认值为400,表示正常显示。

setWeight

public void setWeight(int value)
设置文本字体的磅数,表示粗体的具体数值。取值范围为从0-900之间的整百数,如400表示正常显示,700表示为粗体,可参见微软 MSDN 帮助中关于 LOGFONT 类的介绍。

参数:
value - 文本字体的磅数。

getFontScale

public double getFontScale()
返回注记字体的缩放比例。

返回:
注记字体的缩放比例。
默认值:
默认值为1。

setFontScale

public void setFontScale(double value)
设置注记字体的缩放比例。

参数:
value - 注记字体的缩放比例。

getOpaqueRate

public int getOpaqueRate()
返回注记文字的不透明度。

返回:
注记文字的不透明度。
默认值:
默认值为100。

setOpaqueRate

public void setOpaqueRate(int value)
设置注记文字的不透明度。不透明度的范围为0-100。

参数:
value - 注记文字的不透明度。

clone

public TextStyle clone()
返回当前 GeoBox 对象的一个拷贝。 该对象是此文本风格实例的一个副本。这里的副本是一个深拷贝。

覆盖:
java.lang.Object 中的 clone
返回:
通过克隆操作得到的 GeoBox 对象。

toString

public java.lang.String toString()
返回一个表示此文本风格类对象的格式化字符串。

覆盖:
java.lang.Object 中的 toString
返回:
表示此文本风格类对象的字符串。

toXML

public java.lang.String toXML()
返回表示 TextStyle 对象的 XML 字符串。

返回:
表示 TextStyle 对象的 XML 字符串。

fromXML

public boolean fromXML(java.lang.String xml)
根据传入的 XML 字符串重新构造该 TextStyle 对象。

参数:
xml - 指定的 XML 字符串。
返回:
如果构建成功返回 true,否则返回 false。

getStringAlignment

public StringAlignment getStringAlignment()
返回文本的排版方式,可以对多行文本设置左对齐、右对齐、居中对齐、两端对齐。

返回:

setStringAlignment

public void setStringAlignment(StringAlignment stringAlignment)
设置文本的排版方式,可以对多行文本设置左对齐、右对齐、居中对齐、两端对齐。

参数:
stringAlignment -

getOutlineWidth

public int getOutlineWidth()
返回文本轮廓的宽度,数值的单位为:像素,数值范围是从0到5之间的任意整数。

返回:
返回文本轮廓的宽度,数值的单位为:像素。

setOutlineWidth

public void setOutlineWidth(int value)
设置文本轮廓的宽度,数值的单位为:像素,数值范围是从0到5之间的任意整数,其中设置为0值时表示没有轮廓。

必须通过方法 TextStyle.setOutline(true) 传入true值,文本轮廓的宽度设置才有效。

参数:
value - 文本轮廓的宽度,数值的单位为:像素,数值范围是从0到5之间的任意整数,其中设置为0值时表示没有轮廓。

getBorderSpacingWidth

public int getBorderSpacingWidth()
返回文字背景矩形框边缘与文字边缘的间隔,单位为:像素。

返回:
返回文字背景矩形框边缘与文字边缘的间隔,单位为:像素。

setBorderSpacingWidth

public void setBorderSpacingWidth(int value)
设置文字背景矩形框边缘与文字边缘的间隔,单位为:像素。

参数:
value - 文字背景矩形框边缘与文字边缘的间隔,单位为:像素。