LFileSettings::GetPCDResolution

#include "ltwrappr.h"

static L_INT LFileSettings::GetPCDResolution(pszFile, pPCDInfo)

Examines a PhotoCD file to determine which resolutions it contains.

Parameters

L_TCHAR * pszFile

Character string containing the name of the PhotoCD file.

pPCDINFO pPCDInfo

Pointer to the LEAD PCDINFO structure.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

Before calling this function, declare a variable for a PCDINFO structure. Then, after calling this function, look at the values in the structure to see which resolutions are available.

The PCDINFO structure is specified as follows in the LTFIL.H file:

typedef struct pcdinfo 
{ 
   L_INT resolution[6]; 
} PCDINFO, *pPCDINFO 

The structure contains an array of integers, and the value of each integer can be 0 or 1. The following symbolic constants are defined for use as indexes into the array:

Constant Used as Index Meaning
L_PCD_BASE_OVER_64 [0] Resolution 64 x 96
L_PCD_BASE_OVER_16 [1] Resolution 128 x 192
L_PCD_BASE_OVER_4 [2] Resolution 256 x 384
L_PCD_BASE [3] Resolution 512 x 768
L_PCD_4BASE [4] Resolution 1024 x 1536
L_PCD_16BASE [5] Resolution 2048 x 3072

Note: More options are available in the LOADFILEOPTION structure.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

For a list of functions that use either the LOADFILEOPTION structure or the SAVEFILEOPTION structure, refer to Functions Utilizing the LOADFILEOPTION or SAVEFILEOPTION Structures.

Example

L_INT LFileSettings__GetPCDResolutionExample() 
{ 
   L_INT nRet; 
   LBitmap LeadBitmap; 
   LFileSettings fileSettings; 
 
   /* This example checks for a high resolution PCD image and loads it if possible */ 
   PCDINFO PCDinfo; /* PCD information structure */ 
 
   /* Get the PCD resolution information. (LEADTOOLS does not supply PCD files.)  */ 
   nRet = fileSettings.GetPCDResolution(MAKE_IMAGE_PATH(TEXT("IMG0024.PCD")), &PCDinfo); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   /* Use high resolution if possible */ 
   if (PCDinfo.resolution[L_PCD_4BASE]) 
   { 
      nRet = fileSettings.SetPCDResolution(L_PCD_4BASE); 
      if(nRet != SUCCESS) 
         return nRet; 
      MessageBox( NULL, TEXT("Loading 1024 x 1536"), TEXT("Notice"), MB_OK ); 
   } 
   else 
   { 
      nRet = fileSettings.SetPCDResolution(L_PCD_BASE); 
      if(nRet != SUCCESS) 
         return nRet; 
      MessageBox( NULL, TEXT("Loading 512 x 768"), TEXT("Notice"), MB_OK ); 
   } 
 
   /* Load the bitmap at its own bits per pixel  */ 
   LeadBitmap.Load(MAKE_IMAGE_PATH(TEXT("IMG0024.PCD")), 0, ORDER_BGR); 
   /* Reset the default PCD resolution */    
   nRet = fileSettings.SetPCDResolution(L_PCD_BASE); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   return SUCCESS; 
} 
Help Version 22.0.2021.9.12
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help