SaveState: Integer;
Метод SaveState сохраняет состояние графического объекта в стек.
Метод SaveState может вызываться несколько раз до вызова метода RestoreState, при этом будет возвращаться новый индекс состояния графического объекта. При передаче одного из индексов состояния методу RestoreState, графической объект восстанавливается в соответствии с сохраненными настройками. Параметры состояния с данным индексом удаляются из стека, а также удаляются все состояния, помещенные в стек после вызова метода SaveState с данным индексом.
Для выполнения примера предполагается наличие формы, где расположены: кнопка с наименованием «Button1», компонент ImageBox с наименованием «ImageBox1». Подключите системные сборки: Drawing, Forms.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
BMP: IGxBitmap;
GraphClass: GxGraphicsClass;
Graph: IGxGraphics;
Font: IGxFont;
Brush: IGxBrush;
i: Integer;
Begin
//Создаем растровое изображение в соответствии с размерами компонента ImageBox1
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"));
GraphClass := New GxGraphicsClass.Create;
Graph := GraphClass.FromImage(BMP);
//Сохраняем состояние
i := Graph.SaveState;
Graph.SetScale(5, 5);
Graph.DrawTextW("Первая надпись", Font, Brush, 0, 0);
Graph.RestoreState(i);
Graph.DrawTextW("Вторая надпись", Font, Brush, 0, 0);
ImageBox1.Image := BMP;
End Sub Button1OnClick;
После выполнения примера при нажатии на кнопку в компоненте ImageBox отобразится новое битовое изображение, параметры состояния которого сохранятся в стек. Будет изменен масштаб изображения и выведено текстовое сообщение в соответствии с установленными настройками. После вывода первого сообщения параметры состояния битового изображения восстановятся, и будет выведено второе сообщение.
См. также: