Метод 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 |