3

我需要在我的应用程序中以矢量形式(点和曲线)获得字母的形状。我可以轻松获得Font实例,而且GlyphVector类似乎能够为我提供所需的Shape。但是要从Font创建GlyphVector,我需要一些FontRenderContex

我不是在渲染某些东西时执行此操作,因此我看不到获取该FontRenderContex的方法。是否可以创建一些默认的FontRenderContex或绕过它?

4

2 回答 2

1

我不确定这是否有效,但您可以从BufferedImage对象的Graphics2D对象中获取FontRenderContext

BufferedImage img = new BufferedImage(8, 8, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = img.getGraphics();
FontRenderContext frc = g2.getFontRenderContext();
于 2012-08-15T14:01:30.003 回答
1

您的应用程序中有什么可以扩展Graphics2D吗?这样,您就可以访问该getFontRenderContext方法。

我的意思是您可以只使用其中一个构造函数,但我在FontRenderContext的文档中看到了这一点:

Typically, instances of FontRenderContext are obtained from a Graphics2D object.
A FontRenderContext which is directly constructed will most likely not represent
any actual graphics device, and may lead to unexpected or incorrect results.
于 2012-08-15T13:51:10.840 回答