IGR_Close_Canvas¶
IGR_Close_Canvas releases the resources associated with the canvas handle. It must be called for every canvas opened by IGR_Make_Output_Canvas or IGR_Make_Output_Canvas_On, and must be called before closing the document with IGR_Close_File.
Prototype¶
IGR_LONG IGR_Close_Canvas(
HCANVAS CanvasHandle,
Error_Control_Block* Error);
Parameters¶
CanvasHandle: HCANVAS
Handle to a canvas, opened by a call to IGR_Make_Output_Canvas or IGR_Make_Output_Canvas_On.
Error: Pointer to Error_Control_Block
Returns error details if the call fails.
Return value¶
Success: IGR_LONG
Returns IGR_OK.
Failure: IGR_LONG
Returns one of the possible IGR_E error codes.
Sample code¶
Error_Control_Block ISYSError;
IGR_LONG Capabilities, DocType, DocHandle, PageCount;
HPAGE PageHandle;
IGR_LONG RC = IGR_Open_Stream(pStream, IGR_FORMAT_IMAGE, &Capabilities, &DocType, &DocHandle, &ISYSError);
if (RC == IGR_OK)
{
if (IGR_Get_Page_Count(DocHandle, &PageCount, &ISYSError) == IGR_OK)
{
for (IGR_LONG PageIndex = 0; PageIndex < PageCount; PageIndex++)
{
if (IGR_Open_Page(DocHandle, PageIndex, &PageHandle, &ISYSError) == IGR_OK)
{
HCANVAS CanvasHandle;
if (IGR_Make_Output_Canvas(IGR_DEVICE_IMAGE_PNG, L"page.png",
&CanvasHandle, &ISYSError) == IGR_OK)
{
IGR_Render_Page(PageHandle, CanvasHandle, &ISYSError);
IGR_Close_Canvas(CanvasHandle, &ISYSError);
}
IGR_Close_Page(PageHandle, &ISYSError);
}
}
}
IGR_Close_File(DocHandle, &ISYSError);
}