com.supermap.data

类 TextStyle

  • java.lang.Object
    • com.supermap.data.TextStyle


  • public class TextStyle
    extends java.lang.Object
    文本风格类。

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

    Example:
    以下代码示范如何将自定义的文本风格应用于文本对象,并将文本对象输出为 PNG 图片。
     public void textStyleTest() {
            // 假设打开一个工作空间 <a href="Workspace.html">workspace</a> 对象,并有相应MapControl对象
            // 设置文本风格
            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 = mapControl.getMap();
     
            // 将文本对象添加到地图的跟踪图层,出图显示
            map.getTrackingLayer().add(geotext, "");
            map.setViewBounds(new Rectangle2D(new Point2D(0, 0), new Point2D(300,300)));
            Bitmap bitmap = Bitmap.createBitmap(256, 256, Config.ARGB_8888);
            mapControl.outputMap(bitmap);
      String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
            String path = rootPath + "/textstyle";
            try{
                    FileOutputStream out = new FileOutputStream(path);
                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
            } catch(Exception e){
                    e.printStackTrace();
            }
     
            // 释放资源
            part.dispose();
            geotext.dispose();
            textStyle.dispose();
            mapControl.dispose();
            workspace.dispose();
     }
     
    • 构造器概要

      构造器 
      构造器和说明
      TextStyle()
      构造一个新的 TextStyle 对象。
      TextStyle(TextStyle textStyle)
      根据给定的 TextStyle 对象构造一个与其完全相同的新对象。
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 已过时的方法 
      限定符和类型 方法和说明
      TextStyle clone()
      返回当前 TextStyle 对象的一个拷贝。
      void dispose()
      释放该对象所占用的资源。
      static boolean drawToPNG(Geometry geometry, Resources resources, java.lang.String fileName, int width, int height)
      将指定的几何对象绘制成图片。
      TextAlignment getAlignment()
      返回文本的对齐方式。
      Color getBackColor()
      返回文本的背景色。
      int getBackTransparency()
      获取背景半透明度。
      double getFontHeight()
      返回文本字体的高度。
      java.lang.String getFontName()
      返回文本字体的名称。
      double getFontScale()
      获取注记字体的缩放比例。
      double getFontWidth()
      返回文本的宽度。
      Color getForeColor()
      返回文本的前景色。
      boolean getItalic()
      返回文本是否采用斜体,true 表示采用斜体。
      double getItalicAngle()
      返回字体倾斜角度,正负度之间,以度为单位,精确到0.1度。
      boolean getOutline()
      返回是否以轮廓的方式来显示文本的背景。
      void getOutlineWidth()
      获取轮廓线宽度
      double getRotation()
      返回文本旋转的角度。
      boolean getShadow()
      返回文本是否有阴影。
      boolean getStrikeout()
      返回文本字体是否加删除线。
      boolean getUnderline()
      返回文本字体是否加下划线。
      int getWeight()
      已过时。 
      boolean isBackOpaque()
      返回注记背景是否透明。
      boolean isBold()
      返回注记是否为粗体字。
      boolean isSizeFixed()
      返回文本大小是否固定。
      void setAlignment(TextAlignment textAlignment)
      设置文本的对齐方式。
      void setBackColor(Color value)
      设置文本的背景色。
      void setBackOpaque(boolean value)
      设置文本背景是否不透明,true 表示文本背景透明。
      void setBackTransparency(int value)
      设置背景透明度。
      void setBold(boolean value)
      设置文本是否为粗体字,true 表示为粗体。
      void setFontHeight(double value)
      设置文本字体的高度。
      void setFontName(java.lang.String value)
      设置文本字体的名称。
      void setFontScale(double value)
      设置注记字体的缩放比例。
      void setFontWidth(double value)
      设置文本的宽度。
      void setForeColor(Color value)
      设置文本的前景色。
      void setItalic(boolean value)
      设置文本是否采用斜体,true 表示采用斜体。
      void setItalicAngle(double value)
      设置字体倾斜角度,正负度之间,以度为单位,精确到0.1度。
      void setOutline(boolean value)
      设置是否以轮廓的方式来显示文本的背景。
      void setOutlineWidth(int value)
      设置轮廓线宽度。
      void setRotation(double value)
      设置专题图文本旋转角度。
      void setShadow(boolean value)
      设置文本是否有阴影。
      void setSizeFixed(boolean value)
      设置文本大小是否固定。
      void setStrikeout(boolean value)
      设置文本字体是否加删除线。
      void setUnderline(boolean value)
      设置文本字体是否加下划线。
      void setWeight(int value)
      已过时。 
      java.lang.String toString()
      返回一个表示此文本风格类对象的格式化字符串。
      • 从类继承的方法 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 类中的常量。
        Default:
        默认是文本左上角对齐(TextAlignment.TOPLEFT)。
      • setAlignment

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

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

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

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

        public boolean isBackOpaque()
        返回注记背景是否透明。
        返回:
        背景透明返回true;否则返回false。
      • isBold

        public boolean isBold()
        返回注记是否为粗体字。
        返回:
        若为粗体则返回true;否则返回false。
      • setBackColor

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

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

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

        public void setForeColor(Color value)
        设置文本的前景色。
        参数:
        value - 文本的前景色。
      • isSizeFixed

        public boolean isSizeFixed()
        返回文本大小是否固定。false,表示文本为非固定尺寸的文本。
        返回:
        如果文本为固定尺寸,返回 true;否则返回 false。
        Default:
        默认为 true,表示固定尺寸。
      • setSizeFixed

        public void setSizeFixed(boolean value)
        设置文本大小是否固定。false,表示文本为非固定尺寸的文本。
        参数:
        value - 指定文本大小是否固定。
      • getFontHeight

        public double getFontHeight()
        返回文本字体的高度。在固定大小时单位为0.1毫米,否则使用地理坐标单位。
        返回:
        文本字体的高度。
        Default:
        默认值为 6。
      • setFontHeight

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

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

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

        public java.lang.String getFontName()
        返回文本字体的名称。
        返回:
        文本字体的名称。
        Default:
        文本字体的名称的默认值为 "Times New Roman"。
      • setFontName

        public void setFontName(java.lang.String value)
        设置文本字体的名称。
        参数:
        value - 文本字体的名称。
      • getItalic

        public boolean getItalic()
        返回文本是否采用斜体,true 表示采用斜体。
        返回:
        如果文本采用斜体,返回 true;否则返回 false。
        Default:
        默认值为 false,即不采用斜体。
      • setItalic

        public void setItalic(boolean value)
        设置文本是否采用斜体,true 表示采用斜体。
        参数:
        value - 指定注记是否采用斜体。
      • getItalicAngle

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

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

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

        返回:
        字体倾斜角度。
        Default:
        默认值为 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。
        Default:
        默认值为 false,表示不以轮廓的方式来显示文本的背景。
      • setOutline

        public void setOutline(boolean value)
        设置是否以轮廓的方式来显示文本的背景。false,表示不以轮廓的方式来显示文本的背景。
        参数:
        value - 指定是否以轮廓的方式来显示文本的背景。
      • getRotation

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

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

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

        public void setRotation(double value)
        设置专题图文本旋转角度。逆时针方向为正方向,单位为度。 若要对普通文本对象进行旋转角度,可以设置文本对象每个文本子对象的角度,使用TextPart.setRotation()接口
        参数:
        value - 文本旋转的角度。
      • getShadow

        public boolean getShadow()
        返回文本是否有阴影。true 表示给文本增加阴影。
        返回:
        如果文本有阴影,则返回 true;否则返回 false。
        Default:
        默认值为 false, 即文本没有阴影。
      • setShadow

        public void setShadow(boolean value)
        设置文本是否有阴影。true 表示给文本增加阴影。
        参数:
        value - 指定文本是否有阴影。
      • getStrikeout

        public boolean getStrikeout()
        返回文本字体是否加删除线。true 表示加删除线。
        返回:
        如果文本字体加删除线,则返回 true;否则返回 false。
        Default:
        默认值为 false,即文本字体不加删除线。
      • setStrikeout

        public void setStrikeout(boolean value)
        设置文本字体是否加删除线。true 表示加删除线。
        参数:
        value - 文本字体是否加删除线。
      • setBackOpaque

        public void setBackOpaque(boolean value)
        设置文本背景是否不透明,true 表示文本背景透明。
        参数:
        value - 指定文本背景是否透明。
      • getUnderline

        public boolean getUnderline()
        返回文本字体是否加下划线。true 表示加下划线。
        返回:
        如果文本字体加下划线,则返回 true;否则返回 false。
        Default:
        默认值为 false,即文本字体不加下划线。
      • setUnderline

        public void setUnderline(boolean value)
        设置文本字体是否加下划线。true 表示加下划线。
        参数:
        value - 指定文本字体是否加下划线。
      • getWeight

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

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

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

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

        public int getBackTransparency()
        获取背景半透明度。
        返回:
        背景半透明度。
      • setBackTransparency

        public void setBackTransparency(int value)
        设置背景透明度。
        参数:
        value - 0~255;0为透明,255为不透明。
      • drawToPNG

        public static boolean drawToPNG(Geometry geometry,
                                        Resources resources,
                                        java.lang.String fileName,
                                        int width,
                                        int height)
        将指定的几何对象绘制成图片。
        参数:
        geometry - 几何对象。
        resources - 关联的资源库。
        fileName - 出图文件的路径。
        width - 宽。
        height - 高。
        返回:
        绘制成功返回true,否则返回false。
      • getFontScale

        public double getFontScale()
        获取注记字体的缩放比例。
        返回:
        缩放比例数值。
      • setFontScale

        public void setFontScale(double value)
        设置注记字体的缩放比例。
        参数:
        value - 指定缩放比例数值。
      • setOutlineWidth

        public void setOutlineWidth(int value)
        设置轮廓线宽度。
        参数:
        value -
      • getOutlineWidth

        public void getOutlineWidth()
        获取轮廓线宽度