4

我希望能够将任何字符或字符串转换为形状或区域,以便我可以以我喜欢的任何大小、样式、效果等绘制该字符。

更具体地说,我将使用视差来绘制它,以便仅在某个角度清楚地定义它(这就是为什么我不能使用 html 或任何类似性质的东西)。我已经设置了视差,我只需要形状。

所以简而言之,public Shape convert(char c){...}.

或者,如果您能想到另一种实现此目的的方法,请告诉我。


只是给你一个粗略的想法:

写在云端

4

1 回答 1

1

根据先前的答案,您似乎可以按如下方式进行管理(假设此方法是在 的子类上定义的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()- 另外,如果您需要执行多个操作,这可能比单独转换每个字符更有效。

于 2012-05-17T09:50:48.173 回答