L_GetSaveResolution

#include "l_bitmap.h"

L_LTFIL_API L_INT L_GetSaveResolution(puCount, pResolutions)

L_UINT* puCount;

/* address of the count variable to be updated */

pDIMENSION pResolutions;

/* pointer to the array to be updated */

Gets the information saved by the last L_SetSaveResolution.

Parameter

Description

puCount

Address of the puCount variable to be updated with the number of resolutions set by L_SetSaveResolution.

pResolutions

Pointer to the array of DIMENSION structures to be updated with the physical resolutions set by the last call to L_SetSaveResolution. You can pass NULL if you only want to update the count variable.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Currently, this function only works with the JBIG format.

You must allocate the array to be updated. One way to do this is to declare an array of the maximum size (29 elements). Another way is to call this function twice the first time with NULL in the pResolutions parameter, so that you can get the number of elements and allocate storage of the appropriate size.

For JBIG files, only pResolutions[0].nWidth and pResolutions[0].nHeight are used when a save operation is performed. However, the exact values specified in the last call to L_SetSaveResolution are returned.

Required DLLs and Libraries

LTFIL
File format DLLs

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Win32, x64, Mobile.

See Also

Functions:

L_SetSaveResolution, L_ReadLoadResolutions, L_SetLoadResolution, L_GetLoadResolution
For Vector files: L_2DGetViewMode, L_2DSetViewMode, L_2DGetViewPort, L_2DSetViewPort

Topics:

Raster Image Functions: Saving Files

 

Raster Image Functions: Getting and Setting File Information

 

Implementing JBIG Features

Example

This example gets the dimensions set by the last call to L_SetSaveResolution and displays them

 L_INT  GetSaveResolutionExample(L_VOID)
{
   L_INT nRet;

   L_TCHAR szMessage[256]; /* MessageBox string                                     */
   L_UINT uCount;          /* variable to be updated with the number of resolutions */
   pDIMENSION pDimensions; /* Pointer to the array to be updated                    */
   HGLOBAL hDimensions;    /* Handle to the buffer for the array                    */
   L_UINT i;               /* loop variable                                         */
   
   /* Count the number of dimensions */
   nRet = L_GetSaveResolution (&uCount,NULL);
   if(nRet != SUCCESS)
      return nRet;

   /* Allocate memory to hold the array of DIMENSION structures */
   hDimensions = GlobalAlloc(GMEM_MOVEABLE, sizeof(DIMENSION)* uCount);
   pDimensions = (pDIMENSION)GlobalLock( hDimensions );

   /*Get the information saved by the last nRet = L_SetSaveResolution*/
   L_GetSaveResolution(&uCount,pDimensions);
   if(nRet != SUCCESS)
      return nRet;

   /*Display a message box that shows the available sizes
   In the case of JBIG only  pDimensions[0].nWidth,
   pDimensions[0].nHeight are valid */
   wsprintf (szMessage,TEXT("Available dimensions:\n"));
   for(i = 0; i < uCount; ++i)
   {
      wsprintf (szMessage,TEXT("%s\n%d x %d"),szMessage,
      pDimensions[i].nWidth, pDimensions[i].nHeight);
   }   
   MessageBox( NULL,szMessage, TEXT("File Information"), MB_OK );

   /* Free the memory that we allocated */
   GlobalUnlock (hDimensions);
   GlobalFree (hDimensions);
   return SUCCESS;
}