LICCProfile::Save

#include "ltwrappr.h"

L_INT LICCProfile::Save(pszFilename, pSaveOptions);

L_TCHAR * pszFilename;

/* name of a file */

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 or embed an ICC profile.

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 LICCProfile class object first by calling LICCProfile::Initialize. If LICCProfile::Save succeeds, free the ICC profile by calling LICCProfile::Free. In fact, when any LICCProfile class object initialized by LICCProfile::Initialize is no longer needed, the memory must be freed by calling LICCProfile::Free.

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 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::Save depends on the values of pData and uDataSize, unless they already have correct data, they must be updated by calling LICCProfile::GeneratePointer.

Required DLLs and Libraries

LTCLR

LTFIL

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

LICCProfile::Free, LICCProfile::Initialize, LICCProfile::Load, LICCProfile::Fill, LICCProfile::InitHeader, LICCProfile::SetCMMType, LICCProfile::SetDeviceClass, LICCProfile::SetColorSpace, LICCProfile::SetConnectionSpace, LICCProfile::SetPrimaryPlatform, LICCProfile::SetFlags, LICCProfile::SetDevManufacturer, LICCProfile::SetDevModel, LICCProfile::SetDeviceAttributes, LICCProfile::SetRenderingIntent, LICCProfile::SetCreator, LICCProfile::SetDateTime, LICCProfile::Convert2bFixed2bNumberToDouble, LICCProfile::ConvertDoubleTo2bFixed2bNumber, LICCProfile::SetTagData, LICCProfile::GetTagData, LICCProfile::CreateTagData, LICCProfile::DeleteTag, LICCProfile::GenerateFile, LICCProfile::GeneratePointer, LICCProfile::GetTagTypeSig, LICCProfile::FreeTagType, Class Members

Topics:

Using ICC Profile Functions

 

ICC Profile Functions: Saving an ICC Profile

Example

For an example, refer to LICCProfile::Initialize.