L_ConvertCurveTypeToBuffer

#include "l_bitmap.h"

L_INT EXT_FUNCTION L_ConvertCurveTypeToBuffer(pData, pIccTagCurveType)

L_UCHAR * pData;

/* pointer to a buffer */

pICCTAG_CURVE_TYPE pIccTagCurveType;

/* pointer to a structure */

Converts the information of an ICCTAG_CURVE_TYPE structure into one buffer of sequential bytes.

Parameter

Description

pData

Pointer to a buffer to be updated with the converted information as one buffer of sequential bytes.

pIccTagCurveType

Pointer to an ICCTAG_CURVE_TYPE structure that contains the information to be converted into one buffer of sequential data.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The pData pointer must be allocated by the user. Its size must be equal to the size, in bytes, of the structure pointed to by the pIccTagCurveType parameter.

The size of the pData buffer can be calculated as follows: 4 + 4 + 4 + 2 * pIccTagCurveType.Curve.uCurveCount. For more information, refer to the ICC.1:2004-10 specification page 39 in the (www.color.org) website.

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, Windows CE.

See Also

Functions:

L_InitICCProfile, L_FreeICCProfile, L_SaveICCProfile, L_LoadICCProfile, 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_ConvertCLUTToBuffer, L_GetParametricCurveNumberOfParameters

Topics:

Using ICC Profile Functions

 

ICC Profile Functions: Creating an ICC Profile

Example

/* This example converts a ICCTAG_CURVE_TYPE structure into a buffer */
L_UCHAR* ConvertCurveTypeToBufferExample(pICCTAG_CURVE_TYPE pIccCurveType, L_INT* pnRet)
{
   L_UCHAR L_FAR * pData;
   L_INT nDataSize;

   // calculate the data size
   nDataSize = 4 + 4 + 4 + 2 * pIccCurveType->Curve.uCurveCount;

   // then all
ocate the destination data pointer
   pData = (L_UCHAR L_FAR *) malloc(nDataSize, sizeof(L_UCHAR)); 
   if (pData == NULL) 
      return ERROR_NO_MEMORY; 

   // now convert it into buffer
   *pnRet = 
L_ConvertCurveTypeToBuffer(pData, pIccCurveType); 
   r
eturn pData; 
}