2012-10-25 103 views
3

我有一个字体对象和一个字符串。我想返回一个Shape对象,它是String的表示形式。我有一大堆其他类将显示字符串并照顾它。从Java中的字体对象创建一个形状对象

我很难找出如何做到这一点,当我有一个图形/ graphics2d对象。任何帮助?我搜索了网络,但无法找到有用的链接。

public class SpecializationOfTester extends ParentTester { 

    private String  str; 
    private Font  font; 


    public SpecializationOfTester(String str, Font font) { 
     this.font = font; 
     this.str = str; 
    } 

    public Shape getShape() 
    { 
     Shape   s; 
     // 
     // 
     return s; 
    } 

} 

感谢

+0

你总是可以创建一个'Graphics2d'对象。 –

+0

我可以使用该形状我最终结束并将其添加到不同的图形对象? – Rell3oT

+0

我想是这样。在最糟糕的情况下,一个'Graphics2D'对象将被'Shape'所占据并消耗一些内存。 –

回答

7

您可以使用GlyphVector#getOutline(),提到here。您可以在BufferedImage中创建图形上下文,如Using Headless Mode in the Java SE Platform中所述。

也看到这些吸引人的例子:

+2

有一个相关示例[此处](http://stackoverflow.com/a/6296381/230513)。 – trashgod

+2

[也是一个相关示例](http://stackoverflow.com/a/2466283/646634),它从图形对象中获取'Shape'。 – Brian

+0

+1很好的答案我从来不知道那个... –