勇芳软件工作室.汉化:  GDI+ Flat API > Graphics Functions >

GdipSaveGraphics

Previous pageReturn to chapter overviewNext page

描述

 

保存此Graphics对象的当前状态(转换,裁剪区域和质量设置)。您可以稍后通过调用GdipRestoreGraphics方法来恢复该状态。

 

C++ 语法

 

GpStatus WINGDIPAPI GdipSaveGraphics(

   GpGraphics *graphics,

   GraphicsState *state

);

 

PowerBASIC 语法

 

FUNCTION GdipSaveGraphics ( _

   BYVAL graphics AS DWORD, _

   BYREF pState AS DWORD _

) AS LONG

 

参数

 

graphics

 

[in]指向图像对象的指针。

 

state

 

[out]标识已保存状态的值。当您要还原状态时,将此值传递给GdipRestoreGraphics函数。

 

返回值

 

如果函数成功,则返回Ok,它是状态枚举的一个元素。

 

如果函数失败,它返回状态枚举的其他元素之一。

 

备注

 

当您调用GdipSaveGraphics函数时,将保存图像对象的状态的信息块放在堆栈上。GdipSaveGraphics函数返回一个标识该信息块的值。当您将识别值传递给GdipRestoreGraphics方法时,信息块将从堆栈中删除,用于将图像对象恢复到GdipSaveGraphics调用时所处的状态。请注意,通过给GdipSaveGraphics函数的给定调用的标识符只能传递一次到GdipRestoreGraphics函数。

?/p>

调用GdipSaveGraphics函数可以嵌套;也就是说,您可以在调用GdipRestoreGraphics函数之前多次调用GdipSaveGraphics函数。每次调用GdipSaveGraphics函数时,信息块都放在堆栈上,您将收到信息块的标识符。当您将其中一个标识符传递给GdipRestoreGraphics函数时,图像对象将返回到返回该特定标识符的GdipSaveGraphics调用时所处的状态。由GdipSaveGraphics调用放置在堆栈上的信息块将从堆栈中删除,并且在GdipSaveGraphics调用之后放置在该堆栈上的所有信息块也将被删除。

?/p>

调用GdipBeginContainer功能将信息块放在与GdipSaveGraphics功能的调用相同的堆栈上。正如GdipRestoreGraphics电话与GdipSaveGraphics电话配对,GdipEndContainer电话与GdipBeginContainer电话配对。

?/p>

警告当您致电GdipRestoreGraphics时,相应的GdipSaveGraphics呼叫后,堆栈上的所有信息块(GdipRestoreGraphicsGdipBeginContainer)将从堆栈中删除。同样,当您致电GdipEndContainer时,相应调用GdipBeginContainer之后,堆叠中的所有信息块(由GdipSaveGraphicsGdipBeginContainer)从堆栈中移除。