描述
开始一个新的图形容器。
C++ 语法
GpStatus WINGDIPAPI GdipBeginContainer( GpGraphics *graphics, GDIPCONST GpRectF* dstrect, GDIPCONST GpRectF *srcrect, GpUnit unit, GraphicsContainer *state ); |
PowerBASIC 语法
FUNCTION GdipBeginContainer ( _ BYVAL graphics AS DWORD, _ BYREF dstrect AS RECTF, _ BYREF srcRect AS RECTF, _ BYVAL unit AS LONG, _ BYREF pState AS DWORD _ ) AS LONG |
参数
graphics
[in]指向图像对象的指针。
dstrect
[in]引用与srcrect一起指定容器转换的矩形。
srcrect
[in]引用与dstrect一起指定容器转换的矩形。
unit
[int]容器的计量单位。
state
[out]指向接收标识容器的值的变量的指针。
返回值
如果函数成功,则返回Ok,它是状态枚举的一个元素。
如果函数失败,它返回状态枚举的其他元素之一。
备注
使用此函数创建嵌套图形容器。图形容器用于保留图形状态,如转换,裁剪区域和各种渲染属性。
GdipBeginContainer函数返回值为GraphicsContainer的值。完成使用容器后,将该值传递给GdipEndContainer函数。
当您调用GdipBeginContainer函数时,将保存图像对象状态的信息块放在堆栈上。GdipBeginContainer函数返回一个标识该信息块的值。当您将识别值传递给GdipEndContainer函数时,信息块将从堆栈中移除,用于将图像对象还原到GdipBeginContainer调用时所处的状态。
容器可嵌套;也就是说,您可以在调用EndContainer方法之前多次调用GdipBeginContainer函数。每次调用GdipBeginContainer方法时,都会在堆栈上放置一个信息块,并收到信息块的标识符。当您将其中一个标识符传递给GdipEndContainer方法时,图像对象将返回到返回该特定标识符的GdipBeginContainer调用时所处的状态。由GdipBeginContainer调用放置在堆栈上的信息块将从堆栈中删除,并且在GdipBeginContainer调用之后放置在该堆栈上的所有信息块也将被删除。
调用GdipSaveGraphics函数将信息块放在与GdipBeginContainer功能的调用相同的堆栈上。正如GdipEndContainer电话配对GdipBeginContainer电话一样,GdipRestoreGraphics电话与GdipSaveGraphics电话配对。
警告当您致电GdipEndContainer时,在堆栈中删除相应调用 GdipBeginContainer之后放置在堆栈上的所有信息块(GdipSaveGraphics或GdipBeginContainer)。同样地,当您调用GdipRestoreGraphics时,相应调用GdipSaveGraphics之后,堆栈中放置的所有信息块(由GdipSaveGraphics或GdipBeginContainer)从堆栈中移除。
有关图形容器的更多信息,请参阅嵌套图形容器.