Méthode Font::GetHeight(constGraphics*) (gdiplusheaders.h)
La méthode Font::GetHeight obtient l’espacement de ligne de cette police dans l’unité actuelle d’un objet Graphics spécifié. L'interligne est la distance verticale séparant les lignes de base de deux lignes de texte consécutives. Ainsi, l’espacement des lignes inclut l’espace vide entre les lignes, ainsi que la hauteur du caractère lui-même.
Syntaxe
REAL GetHeight(
const Graphics *graphics
);
Paramètres
graphics
Pointeur vers un objet Graphics dont l’unité et la résolution verticale sont utilisées dans le calcul de la hauteur.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Si l’unité de police est définie sur autre chose que UnitPixel, la hauteur, en pixels, est calculée à l’aide de la résolution verticale de l’objet Graphics spécifié. Par exemple, supposons que l’unité de police est de centimètres et que la taille de police est 0,3. Supposons également que pour la famille de polices correspondante, la hauteur em est de 2048 et l’espacement des lignes est de 2355. Si l’unité de l’objet Graphics est UnitPixel et que la résolution verticale de l’objet Graphics est de 96 points par pouce, la hauteur est calculée comme suit :
2355*(0.3/2048)*96 = 33.1171875
En continuant avec le même exemple, supposons que l’unité de l’objet Graphics est autre que UnitPixel, par exemple UnitMillimeter. Ensuite (à l’aide de 1 pouce = 25,4 millimètres), la hauteur, en millimètres, est calculée comme suit :
2355*(0.3/2048)25.4 = 8.762256
Exemples
L’exemple suivant crée un objet Font, récupère la hauteur de l’objet Font et utilise la hauteur pour positionner deux lignes de texte, la deuxième ligne étant directement sous la première.
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);
}
Configuration requise
En-tête | gdiplusheaders.h |