我希望能够将任何字符或字符串转换为形状或区域,以便我能够以任何大小,样式,效果等方式绘制该字符。我喜欢。
更具体地说,我将使用视差来绘制它,以便它只能以一定的角度进行清晰定义(这就是为什么我不能使用html或任何那种性质的原因)。我已经设置了视差,我只需要这个形状。
简而言之,public Shape convert(char c){...}
。
或者,如果你能想到实现这个目标的另一种方法,请告诉我。
只是为了给你一个粗略的想法:
答案 0 :(得分:1)
根据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();
}
声明方法以获取String参数可能更容易,因为您可以将String作为第二个参数传递给createGlyphVector()
- 如果需要,这可能比单独转换每个字符更有效不止一个。