L_FillICCProfileFromICCFile

#include "ltkrn.h"
#include "ltclr.h"

L_INT EXT_FUNCTION L_FillICCProfileFromICCFile(pszFileName, pICCProfile)

L_UCHAR L_FAR * pszFileName;

/* name of the file to load */

pICCPROFILEEXT pICCProfile;

/* pointer to a structure */

Fills the ICCPROFILEEXT structure fields with the appropriate ICC data from the specified file.

Parameter

Description

pszFileName

Character string containing the name of the ICC file from which to get the ICC data.

pICCProfile

Pointer to an ICCPROFILEEXT structure to be filled with the data.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function fills the ICCPROFILEEXT structure directly from an ICC file.

The ICCPROFILEEXT structure must be initialized, by calling L_InitICCProfileExt, before calling this function.

If the version of the ICC file is v4 or more (i.e. consistent with the ICC specification ICC.1:2004-10), the data inside the ICC file will be extracted into the structure. Otherwise, the ICC will be loaded into a buffer, and a pointer to that buffer will be stored in the pData field of the ICCPROFILEEXT structure, and its size will be in the uDataSize field of the same structure.

To save an ICC Profile to an ICC Profile file call L_GenerateICCFile.

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

Functions:

L_FreeICCProfile, L_InitICCProfile, L_LoadICCProfile, L_InitICCProfileExt, L_FreeICCProfileExt, L_SaveICCProfile, L_LoadICCProfileExt, L_FillICCProfileStructure, L_InitICCHeader, L_SetICCCMMType, L_SetICCDeviceClass, L_SetICCColorSpace, L_SetICCConnectionSpace, L_SetICCPrimaryPlatform, L_SetICCFlags, L_SetICCDevManufacturer, L_SetICCDevModel, L_SetICCDeviceAttributes, L_SetICCRenderingIntent, L_SetICCCreator, L_SetICCDateTime, L_2bFixed2bNumberToDouble, L_DoubleTo2bFixed2bNumber, L_SetICCTagData, L_GetICCTagData, L_CreateICCTagData, L_DeleteICCTag, L_GenerateICCFile, L_GenerateICCPointer, L_GetICCTagTypeSig, L_FreeICCTagType, L_SetICCProfileId, L_U8Fixed8NumberToDouble, L_DoubleToU8Fixed8Number, L_ConvertParametricCurveTypeToBuffer, L_ConvertCurveTypeToBuffer, L_ConvertCLUTToBuffer, L_GetParametricCurveNumberOfParameters

Topics:

Using ICC Profile Functions

 

ICC Profile Functions: Loading an ICC Profile

Example

/* This example initializes an ICCPROFILEEXT structure, and fills its fields with ICC data directly read from an ICC Profile */
ICCPROFILEEXT iccProfile; 
// Initialize the ICC profile structure
L_InitICCProfileExt
 (&iccProfile, sizeof(ICCPROFILEEXT)); 
// Fill the structure with ICC data directly from an ICC file
L_FillICCProfileFromICCFile
(TEXT("iccfile.icc"), &iccProfile); 
// Free the ICC structure
L_FreeICCProfile
(&iccProfile);