com.supermap.data

类 TextStyle

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.data.TextStyle
  • 所有已实现的接口:
    IDisposable


    public class TextStyle
    extends com.supermap.data.InternalHandleDisposable
    文本风格类。

    用于设置 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

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

        public TextStyle(TextStyle textStyle)
        根据给定的 TextStyle 对象构造一个与其完全相同的新对象。
        参数:
        textStyle - 指定的 TextStyle 对象。
        抛出:
        ObjectDisposedException - 如果 TextStyle 执行完 dispose()被释放后再被传入。
    • 方法详细资料

      • dispose

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

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

        public void setStringAlignment(StringAlignment stringAlignment)
        设置文本的排版方式,可以对多行文本设置左对齐、右对齐、居中对齐、两端对齐。
        参数:
        stringAlignment -
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 非法参数
      • getBackColor

        public Color getBackColor()
        返回文本的背景色。
        返回:
        文本的背景色。
        默认值:
        默认颜色为黑色。
      • setBackColor

        public void setBackColor(Color value)
        设置文本的背景色。
        参数:
        value - 文本的背景色。
      • getBold

        public boolean getBold()
        返回文本是否为粗体字,true 表示为粗体。
        返回:
        如果文本为粗体字,返回 true;否则返回 false。
        默认值:
        默认值为 false,即文本不是粗体字。
      • setBold

        public void setBold(boolean value)
        设置文本是否为粗体字,true 表示为粗体。
        参数:
        value - 指定文本是否为粗体字。
      • getForeColor

        public Color getForeColor()
        返回文本的前景色。
        返回:
        文本的前景色。
        默认值:
        默认色为黑色。
      • setForeColor

        public void setForeColor(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 String getFontName()
        返回文本字体的名称。

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

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

        public void setFontName(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 - 文本字体是否加删除线。
      • isIgnoreSpacesBothEnds

        public boolean isIgnoreSpacesBothEnds()
        返回:
        boolean 是否忽略两端空白字符,True 表示忽略两端空白字符,False表示不忽略两端空白字符。默认值为True。
        抛出:
        IllegalStateException
        从以下版本开始:
        11.2 获取注记文本是否忽略两端空白字符
      • setIgnoreSpacesBothEnds

        public void setIgnoreSpacesBothEnds(boolean value)
        参数:
        value - boolean 是否忽略两端空白字符,True 表示忽略两端空白字符,False表示不忽略两端空白字符。
        抛出:
        IllegalStateException
        从以下版本开始:
        11.2 设置注记文本是否忽略两端空白字符
      • 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 - 注记文字的不透明度。
      • 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 - 文字背景矩形框边缘与文字边缘的间隔,单位为:像素。
      • getShadowOffsetX

        public double getShadowOffsetX()
      • setShadowOffsetX

        public void setShadowOffsetX(double value)
      • getShadowOffsetY

        public double getShadowOffsetY()
      • setShadowOffsetY

        public void setShadowOffsetY(double value)
      • getLineSpacingType

        public TextLineSpacingType getLineSpacingType()
        返回文本行距类型。
        文本行距是多行文本里面行与行之间的距离,合适的行距会使文字排版更加美观,易于阅读。
        文本行距支持多倍行距、附加行距和固定行距类型,文本行距类型与行距参数值TextStyle.setLineSpacingParameter共同决定行间距离。
        默认文本行距类型为多倍行距(TextLineSpacingType.MULTIPLE),默认行距参数值为1.0。
        返回:
        返回文本行距类型。
        抛出:
        IllegalStateException - 当前对象已被释放
        从以下版本开始:
        11.2.0
      • setLineSpacingType

        public void setLineSpacingType(TextLineSpacingType type)
        设置文本行距类型。
        文本行距是多行文本里面行与行之间的距离,合适的行距会使文字排版更加美观,易于阅读。
        文本行距支持多倍行距、附加行距和固定行距类型,文本行距类型与行距参数值TextStyle.setLineSpacingParameter共同决定行间距离。
        默认文本行距类型为多倍行距(TextLineSpacingType.MULTIPLE),默认行距参数值为1.0。
        参数:
        type - 文本行距类型。
        抛出:
        IllegalStateException - 当前对象已被释放
        从以下版本开始:
        11.2.0
      • getLineSpacingParameter

        public double getLineSpacingParameter()
        返回行距参数值。
        文本行距是多行文本里面行与行之间的距离,合适的行距会使文字排版更加美观,易于阅读。
        文本行距支持多倍行距、附加行距和固定行距类型,文本行距类型与行距参数值TextStyle.setLineSpacingParameter共同决定行间距离。
        默认文本行距类型为多倍行距(TextLineSpacingType.MULTIPLE),默认行距参数值为1.0。
        不同的文本行距类型,行距参数值的含义不同:
        1. 当文本行距类型为TextLineSpacingType.MULTIPLE,多倍行距,行距参数值单位:倍,表示系统默认行距的倍数。
        2. 当文本行距类型为TextLineSpacingType.ADD,附加行距,行距参数值表示系统默认行距额外增加的行间距离,数值单位与文本是否开启固定大小设置有关,如果开启(TextStyle.isSizeFixed()返回值为true),数值单位为毫米;未开启(TextStyle.isSizeFixed()返回值为false),数值单位与地图坐标系单位一致。
        3. 当文本行距类型为TextLineSpacingType.FIXED,固定行距,行距参数值表示行间距离值,数值单位与文本是否开启固定大小设置有关,如果开启(TextStyle.isSizeFixed()返回值为true),数值单位为毫米;未开启(TextStyle.isSizeFixed()返回值为false),数值单位与地图坐标系单位一致。
        返回:
        返回行距参数值。
        抛出:
        IllegalStateException - 当前对象已被释放
        从以下版本开始:
        11.2.0
      • setLineSpacingParameter

        public void setLineSpacingParameter(double value)
        设置行距参数值。
        文本行距是多行文本里面行与行之间的距离,合适的行距会使文字排版更加美观,易于阅读。
        文本行距支持多倍行距、附加行距和固定行距类型,文本行距类型与行距参数值TextStyle.setLineSpacingParameter共同决定行间距离。
        默认文本行距类型为多倍行距(TextLineSpacingType.MULTIPLE),默认行距参数值为1.0。
        不同的文本行距类型,行距参数值的含义不同:
        1. 当文本行距类型为TextLineSpacingType.MULTIPLE,多倍行距,行距参数值单位:倍,表示系统默认行距的倍数。
        2. 当文本行距类型为TextLineSpacingType.ADD,附加行距,行距参数值表示系统默认行距额外增加的行间距离,数值单位与文本是否开启固定大小设置有关,如果开启(TextStyle.isSizeFixed()返回值为true),数值单位为毫米;未开启(TextStyle.isSizeFixed()返回值为false),数值单位与地图坐标系单位一致。
        3. 当文本行距类型为TextLineSpacingType.FIXED,固定行距,行距参数值表示行间距离值,数值单位与文本是否开启固定大小设置有关,如果开启(TextStyle.isSizeFixed()返回值为true),数值单位为毫米;未开启(TextStyle.isSizeFixed()返回值为false),数值单位与地图坐标系单位一致。
        参数:
        value - 行距参数值。
        抛出:
        IllegalArgumentException - 输入的行距参数值为负数时抛出的异常。
        IllegalStateException - 当前对象已被释放
        从以下版本开始:
        11.2.0
      • getShadowColor

        public Color getShadowColor()
        返回阴影色
        返回:
        Color 文本阴影颜色
        抛出:
        IllegalStateException - 当前对象已被释放
      • setShadowColor

        public void setShadowColor(Color value)
        设置阴影色
        参数:
        value - 文本阴影颜色
        抛出:
        IllegalStateException - 当前对象已被释放
      • clone

        public TextStyle clone()
        返回当前 GeoBox 对象的一个拷贝。 该对象是此文本风格实例的一个副本。这里的副本是一个深拷贝。
        覆盖:
        clone 在类中 Object
        返回:
        通过克隆操作得到的 GeoBox 对象。
      • toXML

        public String toXML()
        返回表示 TextStyle 对象的 XML 字符串。
        返回:
        表示 TextStyle 对象的 XML 字符串。
      • fromXML

        public boolean fromXML(String xml)
        根据传入的 XML 字符串重新构造该 TextStyle 对象。
        参数:
        xml - 指定的 XML 字符串。
        返回:
        如果构建成功返回 true,否则返回 false。
      • toString

        public String toString()
        返回一个表示此文本风格类对象的格式化字符串。
        覆盖:
        toString 在类中 Object
        返回:
        表示此文本风格类对象的字符串。

Copyright © 2021–2024 SuperMap. All rights reserved.