LEADTOOLS Color Conversion C DLL Help > Function References > 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. |
Win32, x64.
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; }