MeasureTextRF(Text: String; Font: IGxFont; Rect: IGxRectF; Format: IGxStringFormat): IGxRectF;
Text. Текст.
Font. Шрифт текста.
Rect. Прямоугольник, задающий максимальную область размещения для текста. Если задан прямоугольник с нулевыми размерами - осуществляется расчет области, занимаемой указанным текстом с учетом установленных параметров.
Format. Формат текста.
Метод MeasureTextRF вычисляет размер текста с заданным форматом.
Для выполнения примера предполагается наличие формы, где расположены: кнопка с наименованием «Button1», компонент ImageBox с наименованием «ImageBox1». Подключите системные сборки: Drawing, Forms.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
BMP: IGxBitmap;
Graph: IGxGraphics;
GraphClass: GxGraphicsClass;
Font: IGxFont;
Brush: IGxBrush;
Format: IGxStringFormat;
r: IGxRectF;
Begin
BMP := GxBitmap.CreateNew(ImageBox1.ClientWidth, ImageBox1.ClientHeight, GxPixelFormat.Unknown);
Font := New GxFont.Create("Times New Roman", 16, GxFontStyle.BoldItalic, GxUnit.World);
Brush := New GxSolidBrush.Create(GxColor.FromName("Red"));
Format := New GxStringFormat.Create;
Format.Alignment := GxStringAlignment.Center;
Format.LineAlignment := GxStringAlignment.Center;
Format.Trimming := GxStringTrimming.None;
GraphClass := New GxGraphics.Create;
Graph := GraphClass.FromImage(BMP);
r := New GxRectF.Create(0, 0, 0, 0);
r := Graph.MeasureTextRF("PROGNOZ", Font, r, Null);
r.Width := r.Width / 2;
Graph.DrawTextRF("PROGNOZ", Font, Brush, r, Format);
ImageBox1.Image := BMP;
End Sub Button1OnClick;
После выполнения примера при нажатии на кнопку в компоненте ImageBox отобразится новое битовое изображение с усеченным по ширине прямоугольником, в котором по центру отрисована надпись «PROGNOZ» с соответствующими установленными настройками.
См. также: