IGxGraphics.SaveState

Синтаксис

SaveState: Integer;

Описание

Метод SaveState сохраняет состояние графического объекта в стек.

Комментарии

Метод SaveState может вызываться несколько раз до вызова метода RestoreState, при этом будет возвращаться новый индекс состояния графического объекта. При передаче одного из индексов состояния методу RestoreState, графической объект восстанавливается в соответствии с сохраненными настройками. Параметры состояния с данным индексом удаляются из стека, а также удаляются все состояния, помещенные в стек после вызова метода SaveState с данным индексом.

Пример Fore

Для выполнения примера предполагается наличие формы, где расположены: кнопка с наименованием «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(
55);
    Graph.DrawTextW(
"Первая надпись", Font, Brush, 00);
    Graph.RestoreState(i);
    Graph.DrawTextW(
"Вторая надпись", Font, Brush, 00);
    ImageBox1.Image := BMP;
End Sub Button1OnClick;

После выполнения примера при нажатии на кнопку в компоненте ImageBox отобразится новое битовое изображение, параметры состояния которого сохранятся в стек. Будет изменен масштаб изображения и выведено текстовое сообщение в соответствии с установленными настройками. После вывода первого сообщения параметры состояния битового изображения восстановятся, и будет выведено второе сообщение.

См. также:

IGxGraphics