共用方式為


Font::GetHeight (constGraphics*) 方法 (gdiplusheaders.h)

Font::GetHeight方法會取得指定Graphics物件目前單位中這個字型的行距。 行距是兩連續文字行基準線間的垂直距離。 因此,行距包含行之間的空格,以及字元本身的高度。

語法

REAL GetHeight(
  const Graphics *graphics
);

參數

graphics

圖形物件的指標,其單位和垂直解析度用於高度計算中。

傳回值

類型: 狀態

如果方法成功,它會傳回 Ok,這是 Status 列舉的元素。

如果方法失敗,它會傳回 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 物件的高度,並使用高度來放置兩行文字,第二行緊接在第一行下方。

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

需求

   
標頭 gdiplusheaders.h

另請參閱

字型

圖形

使用文字和字型