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

GdipBeginContainer

Previous pageReturn to chapter overviewNext page

描述

 

开始一个新的图形容器。

 

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之后放置在堆栈上的所有信息块(GdipSaveGraphicsGdipBeginContainer)。同样地,当您调用GdipRestoreGraphics时,相应调用GdipSaveGraphics之后,堆栈中放置的所有信息块(由GdipSaveGraphicsGdipBeginContainer)从堆栈中移除。

 

有关图形容器的更多信息,请参阅嵌套图形容器.