L_SaveICCProfile
#include "ltkrn.h"
#include "ltclr.h"
L_LTFIL_API L_INT L_SaveICCProfile(pszFilename, pICCProfile, pSaveOptions)
L_TCHAR* pszFilename; |
/* name of a file */ |
pICCPROFILEEXT pICCProfile; |
/* pointer to a structure */ |
pSAVEFILEOPTION pSaveOptions; |
/* pointer to optional extended save options */ |
Saves (embeds) an ICC profile in an image file.
Parameter |
Description |
pszFilename |
Character string containing the name of the file in which to save/embed an ICC profile. |
pICCProfile |
Pointer to an ICCPROFILEEXT structure that contains the ICC profile to save/embed. |
pSaveOptions |
Pointer to optional extended save options. Pass NULL to use the default save options, and the profile will be saved on page 1. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
ICC profiles can be saved into JPEG, TIFF or GIF files. TIFF files are multipage, so the profile can be saved to a particular page using the pSaveOptions parameter.
Initialize the structure pointed to by pICCProfile first by calling L_InitICCProfile. If L_SaveICCProfile succeeds, free the ICC profile by calling L_FreeICCProfile. In fact, when any ICCPROFILEEXT structure initialized by L_InitICCProfile is no longer needed, the memory must be freed by calling L_FreeICCProfile.
The pData member of the ICCPROFILEEXT structure points to one block of memory that contains the entire ICC profile. The uDataSize 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 L_GenerateICCPointer.
And since L_SaveICCProfile depends on the values of pData and uDataSize, unless they already have correct data, they must be updated by calling L_GenerateICCPointer.
Note: The maximum size of an ICC profile that can be saved inside a JPEG file is 65533 bytes (0xFFFD). If the ICC profile size exceeds 65533 bytes, the function will return an ERROR_MARKER_SIZE_TOO_BIG error code.
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.
See Also
Example
For an example, refer to L_InitICCProfile.