cmsCreateTfm(3) CMS cmsCreateTfm(3)NAMEcmsCreateTfm - creates a transform from a set of profiles
SYNOPSIS
#include <cms.h>
int32 cmsCreateTfm (ctxt, profileCount, profs, cmm, ptfm);
CMSContext ctxt;
int32 profileCount;
CMSProfile *profs;
icSignature cmm;
CMSTfm *ptfm;
DESCRIPTIONcmsCreateTfm uses a color manipulation module (CMM) to create a transform
out of a list of profiles. The resulting transform is a sequential
execution of the algorithms implied by the individual profiles, starting
from the first profile and ending in the last profile.
Different CMMs will produce different transforms from the same set of
profiles. The transforms will yield different results when applied a
given set of pixels. Application writers may wish to control which CMM
is used to create and apply a transform. They may do so by specifying
the CMM's name with the cmm parameter. The list of supported CMMs is
returned from the command cmsGetCmmList. Application writers who have no
preference as to the CMM used may do one of two things. They may specify
that the system's default CMM be used by setting cmm to
CMS_USE_DEFAULT_CMM. Each profile in the list profs may specify a
preferred CMM in its header. If the application writer sets cmm to
CMS_USE_PROFILE_CMM, then the CMS goes through the list of profiles from
last to first and lets each specified CMM try to build the transform. If
the CMM can build the transform, the result is used, and that CMM will be
used to apply the transform. If the CMM cannot build the tranform, the
next one in order will be tried. If not of the CMMs can build the
tranform, cmsCreateTfm returns an error. The reason the list is
traversed backward is that output devices tend to be at the end of the
profile list, and it is the profiles of output devices that tend to have
the most dramatic effects on a tranform.
ERRORS
CMS_OUT_OF_MEMORY
There is not enough memory available to create a transform.
CMS_WRONG_DATA
The ctxt points to something that is not a context.
CMS_BAD_INPLACE_CONVERT
We cannot build an inplace conversion for this transform.
CMS_BAD_ENCODE
Page 1
cmsCreateTfm(3) CMS cmsCreateTfm(3)
CMS_BAD_CONTEXT
CMS_TOO_MANY_CHANNELS
The CMM cannot support a tranform with the requested number of
channels.
CMS_CMM_NOT_AVAILABLE
The requested CMM is not available.
SEE ALSO
cmsApplyTfm, cmsCreateGamutCheck
Page 2