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.

Platforms

Win32, x64.

See Also

Functions:

L_FreeICCProfile, L_SaveICCProfile, L_LoadICCProfile, L_FillICCProfileStructure, L_FillICCProfileFromICCFile, 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_SetICCProfileId, L_2bFixed2bNumberToDouble, L_U8Fixed8NumberToDouble, L_DoubleToU8Fixed8Number, L_DoubleTo2bFixed2bNumber, L_SetICCTagData, L_GetICCTagData, L_CreateICCTagData, L_DeleteICCTag, L_GenerateICCFile, L_GenerateICCPointer, L_GetICCTagTypeSig, L_FreeICCTagType, L_ConvertParametricCurveTypeToBuffer, L_ConvertCurveTypeToBuffer, L_ConvertCLUTToBuffer, L_GetParametricCurveNumberOfParameters, L_HasICCProfile

Topics:

Using ICC Profile Functions

 

ICC Profile Functions: Creating an ICC Profile

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; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Color Conversion C API Help