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();
}

2番目のパラメーターとしてStringを渡すことができるため、String引数を取るメソッドを宣言する方が簡単なcreateGlyphVector()場合があります。さらに、複数の文字を実行する必要がある場合は、各文字を個別に変換するよりも効率的です。

于 2012-05-17T09:50:48.173 に答える