我希望能够将任何字符或字符串转换为形状或区域,以便我可以按照我喜欢的任何大小、样式、效果等来绘制该字符。
更具体地说,我将使用视差绘制它,以便它仅在特定角度清晰定义(这就是为什么我不能使用 html 或任何类似性质的东西)。我已经设置了视差,我只需要形状。
简而言之,public Shape convert(char c){...}
。
或者,如果您能想到另一种实现此目的的方法,请告诉我。
只是给你一个大概的想法:
最佳答案
根据 previous answer , 看起来你可以按如下方式管理它(假设这个方法是在 JPanel
的子类上定义的):
public Shape convert(char c) {
Font f = getFont();
// Optionally change font characteristics here
// f = f.deriveFont(Font.BOLD, 70);
FontRenderContext frc = getFontMetrics(f).getFontRenderContext();
GlyphVector v = f.createGlyphVector(frc, new char[] { c });
return v.getOutline();
}
声明采用字符串参数的方法可能更容易,因为您可以将字符串作为第二个参数传递给 createGlyphVector()
- 而且这可能比转换每个字符更有效如果您需要做多个,请单独进行。
关于Java - 将字符或字符串转换为形状/区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10633129/