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- 示范代码:
- 以下代码示范如何将自定义的文本风格应用于文本对象,并将文本对象输出为 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 对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 TextStyleclone()返回当前 GeoBox 对象的一个拷贝。voiddispose()释放该对象所占用的资源。booleanfromXML(String xml)根据传入的 XML 字符串重新构造该TextStyle对象。TextAlignmentgetAlignment()返回文本的对齐方式。ColorgetBackColor()返回文本的背景色。booleangetBackOpaque()返回文本背景是否不透明,true 表示文本背景不透明。booleangetBold()返回文本是否为粗体字,true 表示为粗体。intgetBorderSpacingWidth()返回文字背景矩形框边缘与文字边缘的间隔,单位为:像素。doublegetFontHeight()返回文本字体的高度。StringgetFontName()返回文本字体的名称。doublegetFontScale()返回注记字体的缩放比例。doublegetFontWidth()返回文本的宽度。ColorgetForeColor()返回文本的前景色。booleangetItalic()返回文本是否采用斜体,true 表示采用斜体。doublegetItalicAngle()返回字体倾斜角度,正负度之间,以度为单位,精确到0.1度。doublegetLineSpacingParameter()返回行距参数值。TextLineSpacingTypegetLineSpacingType()返回文本行距类型。intgetOpaqueRate()返回注记文字的不透明度。booleangetOutline()返回是否以轮廓的方式来显示文本的背景。intgetOutlineWidth()返回文本轮廓的宽度,数值的单位为:像素,数值范围是从0到5之间的任意整数。doublegetRotation()返回文本旋转的角度。booleangetShadow()返回文本是否有阴影。ColorgetShadowColor()返回阴影色doublegetShadowOffsetX()doublegetShadowOffsetY()booleangetStrikeout()返回文本字体是否加删除线。StringAlignmentgetStringAlignment()返回文本的排版方式,可以对多行文本设置左对齐、右对齐、居中对齐、两端对齐。booleangetUnderline()返回文本字体是否加下划线。intgetWeight()返回文本字体的磅数,表示粗体的具体数值。booleanisIgnoreSpacesBothEnds()booleanisSizeFixed()返回文本大小是否固定。voidsetAlignment(TextAlignment textAlignment)设置文本的对齐方式。voidsetBackColor(Color value)设置文本的背景色。voidsetBackOpaque(boolean value)设置文本背景是否不透明,true 表示文本背景不透明。voidsetBold(boolean value)设置文本是否为粗体字,true 表示为粗体。voidsetBorderSpacingWidth(int value)设置文字背景矩形框边缘与文字边缘的间隔,单位为:像素。voidsetFontHeight(double value)设置文本字体的高度。voidsetFontName(String value)设置文本字体的名称。voidsetFontScale(double value)设置注记字体的缩放比例。voidsetFontWidth(double value)设置文本的宽度。voidsetForeColor(Color value)设置文本的前景色。voidsetIgnoreSpacesBothEnds(boolean value)voidsetItalic(boolean value)设置文本是否采用斜体,true 表示采用斜体。voidsetItalicAngle(double value)设置字体倾斜角度,正负度之间,以度为单位,精确到0.1度。voidsetLineSpacingParameter(double value)设置行距参数值。voidsetLineSpacingType(TextLineSpacingType type)设置文本行距类型。voidsetOpaqueRate(int value)设置注记文字的不透明度。voidsetOutline(boolean value)设置是否以轮廓的方式来显示文本的背景。voidsetOutlineWidth(int value)设置文本轮廓的宽度,数值的单位为:像素,数值范围是从0到5之间的任意整数,其中设置为0值时表示没有轮廓。voidsetRotation(double value)设置文本旋转的角度。voidsetShadow(boolean value)设置文本是否有阴影。voidsetShadowColor(Color value)设置阴影色voidsetShadowOffsetX(double value)voidsetShadowOffsetY(double value)voidsetSizeFixed(boolean value)设置文本大小是否固定。voidsetStrikeout(boolean value)设置文本字体是否加删除线。voidsetStringAlignment(StringAlignment stringAlignment)设置文本的排版方式,可以对多行文本设置左对齐、右对齐、居中对齐、两端对齐。voidsetUnderline(boolean value)设置文本字体是否加下划线。voidsetWeight(int value)设置文本字体的磅数,表示粗体的具体数值。StringtoString()返回一个表示此文本风格类对象的格式化字符串。StringtoXML()返回表示TextStyle对象的 XML 字符串。
-
-
-
方法详细资料
-
dispose
public void dispose()
释放该对象所占用的资源。调用该方法之后,此对象不再可用。
-
getAlignment
public TextAlignment getAlignment()
返回文本的对齐方式。- 返回:
- 一个
TextAlignment对象。 - 抛出:
EnumConstantNotPresentException- 如果返回的文本对齐方式不是TextAlignment类中的常量。- 默认值:
- 默认是文本左上角对齐(
TextAlignment.TOPLEFT)。
-
setAlignment
public void setAlignment(TextAlignment textAlignment)
设置文本的对齐方式。当
setAlignment()的参数不是TextAlignment类中的常量时,则抛出 EnumConstantNotPresentException 异常。- 参数:
value- 指定文本的对齐方式。- 抛出:
EnumConstantNotPresentException- 如果设置的文本对齐方式不是TextAlignment类中的常量。
-
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 对象的一个拷贝。 该对象是此文本风格实例的一个副本。这里的副本是一个深拷贝。
-
fromXML
public boolean fromXML(String xml)
根据传入的 XML 字符串重新构造该TextStyle对象。- 参数:
xml- 指定的 XML 字符串。- 返回:
- 如果构建成功返回 true,否则返回 false。
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.