2

既知

与えられたFontMetrics

FontMetricsfromの保護されたコンストラクタがありFontます。

質問:

オブジェクトが与えられた場合、を経由せずにオブジェクトFontを構築する方法はありますか?FontMetricsGraphics2D.setFontGraphics2D.getFontMetric()

コンテクスト

私はレンダリングアルゴリズムのようなTeXで遊んでいます。*.pfbファイルからさまざまな文字のバウンディングボックスなどを計算する必要があります。*.pfbファイルからFontオブジェクトを作成できます。FontMetrics上昇、下降、幅を取得するためのオブジェクトが必要です。を取得するためだけに、未使用の中間グラフィックスオブジェクトを作成する必要があるのは非常に醜いようですFontMetrics

4

2 に答える 2

4

オブジェクトが与えられた場合、を経由せずにオブジェクトFontを構築する方法はありますか?FontMetricsGraphics2D.setFontGraphics2D.getFontMetric()

インスタンスを取得する別の方法については、BufferedImage.createGraphics()またはを参照してください。getGraphics()Graphics

于 2012-05-20T22:54:29.913 に答える
1

または、グラフィックスオブジェクトを使用せずに完全に:

Font font = new Font("Helvetica",Font.PLAIN,12);
Canvas c = new Canvas();
FontMetrics fm = c.getFontMetrics(font);

ここで呼び出すc.getGraphics()と、nullが返されます。これ(キャンバス)はヘッドレスモードでも機能します。

于 2013-08-08T09:59:17.720 に答える