我已经想出了如何在使用Java绘制该屏幕之前获取文本字符串的形状,例如使用TextLayout类[1]。然而,我只能找到一种方法来获得整个文本的形状。我需要为文字中的每个角色设置一个形状。有人知道如何获得每个角色的形状的优雅方式吗?使用Java图形处理字符串中每个字符的形状
[1] http://download.oracle.com/javase/tutorial/2d/advanced/transforming.html
我已经想出了如何在使用Java绘制该屏幕之前获取文本字符串的形状,例如使用TextLayout类[1]。然而,我只能找到一种方法来获得整个文本的形状。我需要为文字中的每个角色设置一个形状。有人知道如何获得每个角色的形状的优雅方式吗?使用Java图形处理字符串中每个字符的形状
[1] http://download.oracle.com/javase/tutorial/2d/advanced/transforming.html
从Font
得到一个GlyphVector
对象。返回的GlyphVector
将包含用于表示指定文本的字形序列。
一旦您有GlyphVector
,您可以分别通过getGlyphMetrics()
和getGlyphOutline()
方法获得每个单独的字形的详细度量或边界形状。
(注:getGlyphCharIndex()
方法可用于发现的字形字符映射。)
是的,但它给了我所有的字符组成的glyhps,没有告诉我哪个字形属于哪个字符..或者我错过了什么? – Nils 2010-10-21 09:06:48
您可以使用'getGlyphCharIndex()'方法查找字符映射的字形。 – Grodriguez 2010-10-21 09:13:25
谢谢,我错过了! – Nils 2010-10-21 09:15:36
字体也可以使用font.deriveFont(AffineTransformation在)转化的,所以我可以使用AttributedString并附加不同的字体来每个字符..不知道这是一个好主意吗? – Nils 2010-10-21 09:15:09