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