Generates an ICC profile file.
#include "ltwrappr.h"
L_INT LICCProfile::GenerateFile(pszFileName);
Character string containing the name of the file in which to save the ICC profile.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
This function will generate an ICC profile file that can be used in other applications.
The pData member of the class object's ICCPROFILEEXT member structure points to one block of memory that contains the entire ICC profile. The uDataSize member of the class object's ICCPROFILEEXT member structure contains the size of the material pointed to by pData. As tags are added or deleted, these members are not automatically updated. Ordinarily, to update these members, you must call LICCProfile::GeneratePointer. However, this function updates these members itself, without requiring a separate call to LICCProfile::GeneratePointer.
And since LICCProfile::GenerateFile depends on pData and uDataSize, unless they already have correct data, they must be updated by calling LICCProfile::GeneratePointer.
This example will generate an ICC profile file
L_INT LICCProfile_GenerateFileExample(L_TCHAR* szImageFileName, L_TCHAR* szOutputICCFileName)
{
L_INT nRet = FAILURE;
LICCProfile IccProfile;
// Initialize the ICC Profile
nRet = IccProfile.Initialize ();
if (nRet != SUCCESS)
{
IccProfile.Free ();
return nRet;
}
// Load an ICC Profile that is embedded in an image
nRet = IccProfile.Load (szImageFileName, NULL);
if (nRet != SUCCESS)
{
IccProfile.Free ();
return nRet;
}
// Save the ICC Profile to .icc file
nRet = IccProfile.GenerateFile(szOutputICCFileName);
// Free the ICC Profile
IccProfile.Free ();
return nRet;
}