2010-10-21 34 views
2

我已经想出了如何在使用Java绘制该屏幕之前获取文本字符串的形状,例如使用TextLayout类[1]。然而,我只能找到一种方法来获得整个文本的形状。我需要为文字中的每个角色设置一个形状。有人知道如何获得每个角色的形状的优雅方式吗?使用Java图形处理字符串中每个字符的形状

[1] http://download.oracle.com/javase/tutorial/2d/advanced/transforming.html

+0

字体也可以使用font.deriveFont(AffineTransformation在)转化的,所以我可以使用AttributedString并附加不同的字体来每个字符..不知道这是一个好主意吗? – Nils 2010-10-21 09:15:09

回答

2

Font得到一个GlyphVector对象。返回的GlyphVector将包含用于表示指定文本的字形序列。

一旦您有GlyphVector,您可以分别通过getGlyphMetrics()getGlyphOutline()方法获得每个单独的字形的详细度量或边界形状。

(注:getGlyphCharIndex()方法可用于发现的字形字符映射。)

+0

是的,但它给了我所有的字符组成的glyhps,没有告诉我哪个字形属于哪个字符..或者我错过了什么? – Nils 2010-10-21 09:06:48

+1

您可以使用'getGlyphCharIndex()'方法查找字符映射的字形。 – Grodriguez 2010-10-21 09:13:25

+0

谢谢,我错过了! – Nils 2010-10-21 09:15:36