Поделиться через


Метод Font::GetHeight(constGraphics*) (gdiplusheaders.h)

Метод Font::GetHeight получает междустрочный интервал этого шрифта в текущей единице указанного объекта Graphics . Межстрочный интервал — это расстояние по вертикали между двумя опорными линиями двух соседних строк в тексте. Таким образом, междустрочный интервал включает пустое пространство между строками вместе с высотой самого символа.

Синтаксис

REAL GetHeight(
  const Graphics *graphics
);

Параметры

graphics

Указатель на графический объект, единица измерения и вертикальное разрешение которого используются при вычислении высоты.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления 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

См. также раздел

Шрифт

Графика

Использование текста и шрифтов