Declaration
function Transform(Destination: TIEICC; InputFormat: integer; OutputFormat: integer; Intent: integer; Flags: integer; InputBuffer: pointer; OutputBuffer: pointer; ImageWidth: integer): boolean;
Description
Transforms a row from current profile to the destination profile. You must call FreeTransform after the whole image has been transformed.
Returns False if it cannot perform the transformation.
InputFormat and OutputFormat : The color format for the input and the output. See below for a list of supported color formats.
Intent: The ICC intent to apply. If an appropiate tag for this intent is not found, no error is raised and the intent is reverted to perceptual.
INTENT_PERCEPTUAL
INTENT_RELATIVE_COLORIMETRIC
INTENT_SATURATION
INTENT_ABSOLUTE_COLORIMETRIC
Flags: This value commands on how to handle the whole process. Some or none of this values can be joined via the 'or' operator.
cmsFLAGS_MATRIXINPUT | CLUT ignored on input profile, matrix-shaper used instead (for speed, and debugging purposes) |
cmsFLAGS_MATRIXOUTPUT | Same as anterior, but for output profile only |
cmsFLAGS_NOTPRECALC | By default, lcms smelt luts into a device-link CLUT. This speedup whole transform greatly. If you don't wanna this, and wish every value to be translated to PCS and back to output space, include this flag |
cmsFLAGS_NULLTRANFORM | Don't transform anyway, only apply pack/unpack routines (usefull to deactivate color correction but keep formatting capabilities) |
cmsFLAGS_HIGHRESPRECALC | Use 48 points instead of 33 for device-link CLUT precalculation. Not needed but for the most extreme cases of mismatch of "impedance" between profiles |
cmsFLAGS_LOWRESPRECALC | Use lower resolution table. Useful when memory is a preciated resource |
cmsFLAGS_BLACKPOINTCOMPENSATION | Use BPC algorithm |
See Also
◼TIEICC Supported Color Formats