Products | Support | Send comments on this topic. | Email a link to this topic. | Back to Getting Started | Help Version 18.0.10.29
LEADTOOLS Color Conversion C DLL Help

L_InitICCProfile

Show in webframe

#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;
}
Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.