Font::GetHeight(constGraphics*) メソッド (gdiplusheaders.h)

Font::GetHeight メソッドは、指定した Graphics オブジェクトの現在の単位で、このフォントの行間を取得します。 行間とは、2 つの連続するテキスト行のベース ライン間の垂直距離です。 したがって、行間には、行間の空白スペースと文字自体の高さが含まれます。

構文

REAL GetHeight(
  const Graphics *graphics
);

パラメーター

graphics

高さの計算で単位と垂直方向の解像度が使用される Graphics オブジェクトへのポインター。

戻り値

種類: 状態

メソッドが成功した場合は、 Status 列挙体の要素である Ok を返します。

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

解説

フォント単位が UnitPixel 以外の値に設定されている場合、指定した Graphics オブジェクトの垂直方向の解像度を使用して、高さがピクセル単位で計算されます。 たとえば、フォント単位がインチで、フォント サイズが 0.3 であるとします。 また、対応するフォント ファミリの場合、em の高さは 2048 で、行間は 2355 であるとします。 Graphics オブジェクトの単位が UnitPixel で、 Graphics オブジェクトの垂直方向の解像度が 96 ドット/インチの場合、高さは次のように計算されます。

2355*(0.3/2048)*96 = 33.1171875

同じ例を続けて、 Graphics オブジェクトの単位が UnitPixel 以外の単位 ( UnitMillimeter など) であるとします。 次に、(1 インチ = 25.4 ミリメートルを使用して) 高さをミリメートル単位で計算します。

2355*(0.3/2048)25.4 = 8.762256

次の例では、Font オブジェクトを作成し、Font オブジェクトの高さを取得し、高さを使用して 2 行目のテキストを配置し、2 行目を 1 行目のすぐ下に配置します。

VOID Example_GetHeight(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a Font object.
   Font myFont(L"Arial", 16);

   // Draw text with myFont.
   SolidBrush solidbrush_1(Color(255, 0, 0, 0));
   WCHAR string[] = L"The first line of text";
   graphics.DrawString(string, 22, &myFont, PointF(0, 0), &solidbrush_1);

   // Get the height of myFont.
   REAL height = myFont.GetHeight(&graphics);

   // Draw text immediately below the first line of text.
   SolidBrush solidbrush_2(Color(255, 255, 0, 0));
   WCHAR string[] = L"The second line of text";
   graphics.DrawString(string2, 23, &myFont, PointF(0, height),
                       &solidbrush_2);
}

必要条件

   
Header gdiplusheaders.h

関連項目

フォント

グラフィックス

テキストとフォントの使用