6

私がやろうとしているのは、DrawString() メソッドを使用して文字列をビットマップに描画することです。これを行うには、ビットマップを作成し、ビットマップから Graphics オブジェクトを取得してから、その Graphics オブジェクトで DrawString() を呼び出す必要があります。

問題は、最初のビットマップを作成するときに、ビットマップを作成するための幅と長さのピクセル数を事前に知る方法です。

これが MeasureString() と関係があることはわかっていますが、MeasureString() を使用するには、ビットマップから Graphics オブジェクトを取得する必要があります。ビットマップを作成するまでそれを取得できません。これは、サイズがわかるまで実行できません。循環パラドックスみたい!

誰かがこれについて私を助けてください?

4

2 に答える 2

7

測定する小さな静的ビットマップを作成できます

private static Bitmap measureBmp = new Bitmap(1, 1);

あとはいつも通り測ります

using (var measureGraphics = Graphics.FromImage(measureBmp))
{
    var stringSize = measureGraphics.MeasureString("measureString", this.Font);
}

画像のサイズは測定に影響しません

于 2010-11-30T20:05:53.160 に答える
0

Java でこれを行う必要があり、必要な構造にアクセスするために、添付されていないグラフィックス要素を作成しました。Graphics オブジェクトにアクセスするためだけに 1x1 ビットマップを作成するだけで済む場合があります。では、回収させてください。

ここでの希望は、グラフィック要素の寸法が MeasureString の結果に影響を与えないことです。

于 2010-11-30T20:06:32.503 に答える