L_ClrSetConversionParams
#include "ltkrn.h"
#include "ltclr.h"
L_LTCLR_API L_INT L_ClrSetConversionParams(ClrHandle, pParams)
L_HANDLE ClrHandle; |
/* handle to the color conversion */ |
LPCONVERSION_PARAMS pParams; |
/* pointer to a structure */ |
Sets new conversion parameters.
Parameter |
Description |
ClrHandle |
Handle to an existing color conversion. This handle is obtained by calling the L_ClrInit function. |
pParams |
Pointer to a CONVERSION_PARAMS structure, this structure will describe the conversion properties. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
If pParams is NULL, this function will fail. A valid color conversion handle is needed. To check the handle validity, use L_ClrIsValid.
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
See Also
Functions: |
|
Topics: |
|
|
COLOR Function Groups |
Example
L_INT ClrSetConversionParamsExample( L_UCHAR* pInput, L_UCHAR* pOutput, L_INT nWidth, L_INT nHeight) { L_INT nRet; HANDLE ClrHandle; /* color Handle */ CONVERSION_PARAMS convparams; /* conversion options */ /* Conversion with options: The conversion will be done with the options specified in the convparams variable*/ /* set the convparams size */ convparams.uStructSize = sizeof(CONVERSION_PARAMS); /* we want to use the built in ICC conversion method and built in conversion */ /* use built in conversion and LEAD ICC Engine*/ convparams.nMethod = USE_BUILTIN | USE_ICC; /* set the active conversion method */ convparams.nActiveMethod = USE_BUILTIN; /* allocate a D50 white point option */ convparams.pWpoint = (LPWHITEPOINT)malloc(sizeof(WHITEPOINT)); /* D50 white point */ convparams.pWpoint->nWhitePoint = CIELAB_D50; /* allocate a cmyk option */ convparams.pCmykParams = (LPCMYK_PARAMS)malloc(sizeof(CMYK_PARAMS)); convparams.pCmykParams->uStructSize = sizeof(CMYK_PARAMS); convparams.pCmykParams->nMask = CMYK_GCR; /* 17.5 % GCR value */ convparams.pCmykParams->nGcr_level = 175; /* initialize the color conversion */ nRet = L_ClrInit(&ClrHandle, CCS_CMYK, CCS_RGB, &convparams); if(nRet != SUCCESS) return nRet; /* convert the image buffer */ nRet = L_ClrConvert(ClrHandle, /* conversion handle */ pInput, /* input buffer */ pOutput, /* output buffer */ nWidth, /* pixels width */ nHeight, /* pixels height */ 0, /* 0 bytes align */ 0); /* 0 bytes align */ if(nRet != SUCCESS) return nRet; /* change the active method for conversion */ convparams.nMethod = CHANGE_ACTIVE_METHOD; /* switch to ICC conversion method */ convparams.nActiveMethod = USE_ICC; /* update the conversion state */ nRet = L_ClrSetConversionParams(ClrHandle, &convparams); if(nRet != SUCCESS) return nRet; /* convert the image buffer */ nRet = L_ClrConvert(ClrHandle, /* conversion handle */ pInput, /* input buffer */ pOutput, /* output buffer */ nWidth, /* pixels width */ nHeight, /* pixels height */ 0, /* 0 bytes align */ 0); /* 0 bytes align */ if(nRet != SUCCESS) return nRet; /* free the conversion */ nRet = L_ClrFree (ClrHandle); /* save the image */ /*...*/ free(convparams.pWpoint); free(convparams.pCmykParams); return nRet; }