| 
   Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits.  | 
L_InitICCProfile
#include "ltkrn.h"
#include "ltclr.h"
L_LTCLR_API L_INT L_InitICCProfile(pICCProfile, uStructSize)
| 
 pICCPROFILEEXT pICCProfile;  | 
 /* pointer to a structure */  | 
| 
 L_SIZE_T uStructSize;  | 
 /* size of a structure */  | 
Initializes an ICCPROFILEEXT structure.
| 
 Parameter  | 
 Description  | 
| 
 pICCProfile  | 
 Pointer to the ICCPROFILEEXT structure to initialize.  | 
| 
 uStructSize  | 
 Value that indicates the size of the structure pointed to by pICCProfile. Pass sizeof(ICCPROFILEEXT).  | 
Returns
| 
 SUCCESS  | 
 The function was successful.  | 
| 
 < 1  | 
 An error occurred. Refer to Return Codes.  | 
Comments
The parameter pICCProfile must be allocated before sending it to the function.
An ICCPROFILEEXT structure must be initialized before loading an ICC Profile. To initialize an ICCPROFILEEXT structure, call L_InitICCProfile with the uStructSize parameter set to sizeof(MEMICCPROFILEEXT).
This function should be called before calling L_InitICCHeader. If this function is called after L_InitICCHeader, the default values set by L_InitICCHeader will be lost.
When the ICCPROFILEEXT structure is no longer needed, be sure to free the memory allocated by calling L_FreeICCProfile.
Required DLLs and Libraries
| 
 LTCLR 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
Windows 95 / 98 / Me, Windows 2000 / XP, Windows CE.
See Also
Example
This example loads an ICC Profile from an Image, fill the Icc structure with it, and then saves the profile into another image.
 L_INT InitICCProfileExample(pICCPROFILEEXT pIccProfile,
                                            L_TCHAR      * pszImage1,
                                            L_TCHAR      * pszImage2)
{
   L_INT nRet;
   UNREFERENCED_PARAMETER(pszImage1);
   UNREFERENCED_PARAMETER(pszImage2);
   // initializing the ICC profile
   nRet = L_InitICCProfile (pIccProfile, sizeof(ICCPROFILEEXT)); 
   if(nRet != SUCCESS)
      return nRet;
   // Load an ICC Profile that is embedded in an image
   nRet = L_LoadICCProfile(pszImage1, pIccProfile, NULL);
   if(nRet != SUCCESS)
      return nRet;
   // Fill the ICCPROFILEEXT structure with the ICC data loaded from the image
   nRet = L_FillICCProfileStructure(pIccProfile, pIccProfile->pData, pIccProfile->uDataSize);
   if(nRet != SUCCESS)
      return nRet;
   // Save the ICC Profile into another image
   nRet = L_SaveICCProfile(pszImage2, pIccProfile, NULL);
   if (nRet != SUCCESS)
      return nRet;
   // finally free the ICC Profile
   L_FreeICCProfile(pIccProfile);
   return SUCCESS;
   //return nRet;
}