Functions


Accessing Named Color Profile Values

CMGetIndNamedColorValue Obtains device and PCS color values for a specific named color index from a named color space profile.
CMGetNamedColorIndex Obtains a named color index for a specific color name from a named color space profile.
CMGetNamedColorInfo Obtains information about a named color space from its profile reference.
CMGetNamedColorName Obtains a named color name for a specific named color index from a named color space profile.
CMGetNamedColorValue Obtains device and PCS color values for a specific color name from a named color space profile.

Accessing Profile Elements

CMCountProfileElements Counts the number of elements in the specified profile.
CMGetIndProfileElement Obtains the element data corresponding to a particular index from the specified profile.
CMGetIndProfileElementInfo Obtains the element tag and data size of an element by index from the specified profile.
CMGetPartialProfileElement Obtains a portion of the element data from the specified profile based on the specified element tag signature.
CMGetProfileElement Obtains element data from the specified profile based on the specified element tag signature.
CMGetProfileHeader Obtains the profile header for the specified profile.
CMGetScriptProfileDescription Obtains the internal name (or description) of a profile and the script code identifying the language in which the profile name is specified from the specified profile.
CMProfileElementExists Tests whether the specified profile contains a specific element based on the element’s tag signature.
CMRemoveProfileElement Removes an element corresponding to a specific tag from the specified profile.
CMSetPartialProfileElement Sets part of the element data for a specific tag in the specified profile.
CMSetProfileElement Sets or replaces the element data for a specific tag in the specified profile.
CMSetProfileElementReference Adds a tag to the specified profile to refer to data corresponding to a previously set element.
CMSetProfileElementSize Reserves the element data size for a specific tag in the specified profile before setting the element data.
CMSetProfileHeader Sets the header for the specified profile.

Accessing Profiles

CMCloneProfileRef Increments the reference count for the specified profile reference.
CMCloseProfile Decrements the reference count for the specified profile reference and, if the reference count reaches 0, frees all private memory and other resources associated with the profile.
CMCopyProfile Duplicates the specified existing profile.
CMFlattenProfile Transfers a profile stored in an independent disk file to an external profile format that can be embedded in a graphics document.
CMGetProfileLocation Obtains the location of a profile based on the specified profile reference.
CMGetProfileRefCount Obtains the current reference count for the specified profile.
CMNewProfile Creates a new profile and associated backing copy.
CMOpenProfile Opens the specified profile and returns a reference to the profile.
CMProfileModified Indicates whether the specified profile has been modified since it was created or last updated.
CMUnflattenProfile Transfers a profile embedded in a graphics document to an independent disk file.
CMUpdateProfile Saves modifications to the specified profile.
CMValidateProfile Indicates whether the specified profile contains the minimum set of elements required by the current color management module (CMM) for color matching or color checking.
NCMGetProfileLocation Obtains either a profile location structure for a specified profile or the size of the location structure for the profile.

Color-Matching With PostScript Devices

CMGetPS2ColorRendering Obtains the color rendering dictionary (CRD) element data usable as the parameter to the PostScript setColorRendering operator, which specifies the PostScript color rendering dictionary to use for the following graphics data.
CMGetPS2ColorRenderingIntent Obtains the rendering intent element data in text format usable as the parameter to the PostScript findRenderingIntent operator, which specifies the color-matching option for subsequent graphics data.
CMGetPS2ColorRenderingVMSize Determines the virtual memory size of the color rendering dictionary (CRD) for a printer profile before your application or driver obtains the CRD and sends it to the printer.
CMGetPS2ColorSpace Obtains color space element data in text format usable as the parameter to the PostScript setColorSpace operator, which characterizes the color space of subsequent graphics data.

Converting 2.x Profiles to 1.0 Format

CMConvertProfile2to1 Converts the specified ColorSync profile from the 2.x format to the 1.0 format.

Converting Between Color Spaces

CMConvertFixedXYZToXYZ Converts colors specified in XYZ color space whose components are expressed as Fixed XYZ 32-bit signed values of type CMFixedXYZColor to equivalent colors expressed as XYZ 16-bit unsigned values of type CMXYZColor.
CMConvertHLSToRGB Converts colors specified in the HLS color space to equivalent colors defined in the RGB color space.
CMConvertHSVToRGB Converts colors specified in the HSV color space to equivalent colors defined in the RGB color space.
CMConvertLabToXYZ Converts colors specified in the L*a*b* color space to the XYZ color space.
CMConvertLuvToXYZ Converts colors specified in the L*u*v* color space to the XYZ color space.
CMConvertRGBToGray Converts colors specified in the RGB color space to equivalent colors defined in the Gray color space.
CMConvertRGBToHLS Converts colors specified in the RGB color space to equivalent colors defined in the HLS color space.
CMConvertRGBToHSV Converts colors specified in the RGB color space to equivalent colors defined in the HSV color space when the device types are the same.
CMConvertXYZToFixedXYZ Converts colors specified in the XYZ color space whose components are expressed as XYZ 16-bit unsigned values of type CMXYZColor to equivalent colors expressed as 32-bit signed values of type CMFixedXYZColor.
CMConvertXYZToLab Converts colors specified in the XYZ color space to the L*a*b* color space.
CMConvertXYZToLuv Converts colors specified in the XYZ color space to the L*u*v* color space.
CMConvertXYZToYxy Converts colors specified in the XYZ color space to the Yxy color space.
CMConvertYxyToXYZ Converts colors specified in the Yxy color space to the XYZ color space.

Embedding Profile Information in Pictures

NCMUseProfileComment Automatically embeds a profile or a profile identifier into an open picture.

Getting and Setting Default Profiles by Color Space

CMGetDefaultProfileBySpace Gets the default profile for the specified color space.
CMSetDefaultProfileBySpace Sets the default profile for the specified color space.

Getting and Setting Monitor Profiles by AVID

CMGetProfileByAVID Gets the current profile for a monitor.
CMSetProfileByAVID Sets the profile for the specified monitor, optionally setting video card gamma.

Getting and Setting the System Profile File

CMGetSystemProfile Obtains a reference to the current system profile.
CMSetSystemProfile Sets the current system profile.

Getting the Preferred CMM

CMGetPreferredCMM Identifies the preferred CMM specified by the ColorSync control panel.

Locating the ColorSync Profiles Folder

CMGetColorSyncFolderSpec Obtains the volume reference number and the directory ID for the ColorSync Profiles folder.

Matching Colors Using General Purpose Functions

CMGetCWInfo Obtains information about the color management modules (CMMs) used for a specific color world.
CWCheckBitmap Tests the colors of the pixel data of a bitmap to determine whether the colors map to the gamut of the destination device.
CWCheckColors Tests a list of colors using a specified color world to see if they fall within the gamut of a destination device.
CWCheckPixMap Checks the colors of a pixel map using the profiles of a specified color world to determine whether the colors are in the gamut of the destination device.
CWConcatColorWorld Sets up a color world that includes a set of profiles for various color transformations among devices in a sequence.
CWDisposeColorWorld Releases the private storage associated with a color world when your application has finished using the color world.
CWMatchBitmap Matches the colors of a bitmap to the gamut of a destination device using the profiles specified by a color world.
CWMatchColors Matches colors in a color list, using the specified color world.
CWMatchPixMap Matches a pixel map in place based on a specified color world.
CWNewLinkProfile Creates a device link profile based on the specified set of profiles.
NCWNewColorWorld Creates a color world for color matching based on the specified source and destination profiles.

Matching Colors Using QuickDraw-Specific Functions

CMEnableMatchingComment Inserts a comment into the currently open picture to turn matching on or off.
CMEndMatching Concludes a QuickDraw-specific ColorSync matching session initiated by a previous call to the NCMBeginMatching function.
NCMBeginMatching Sets up a QuickDraw-specific ColorSync matching session, using the specified source and destination profiles.
NCMDrawMatchedPicture Matches a picture’s colors to a destination device’s color gamut, as the picture is drawn, using the specified destination profile.

Optional CMM-Defined Functions

CMCheckBitmap Handles the kCMMCheckBitmap request by checking the colors of the source image bitmap against the color gamut of the destination profile.
CMCheckPixMap Handles the kCMMCheckPixMap request by checking the colors of the specified pixel map image against the color gamut of the destination profile.
CMConcatInit Handles the kCMMConcatInit request by initializing any private data the CMM will need for a color session involving the specified set of profiles.
CMMFlattenProfile Handles the kCMMFlattenProfile request by extracting profile data from the profile to flatten and passing it to the specified function.
CMMGetIndNamedColorValue Handles the kCMMGetIndNamedColorValue request by returning device and PCS color values from a named color space profile for a specific named color index.
CMMGetNamedColorIndex Handles the kCMMGetNamedColorIndex request by returning a named color index from a named color space profile for a specific color name.
CMMGetNamedColorInfo Handles the kCMMGetNamedColorInfo request by returning information about a named color space from its profile reference.
CMMGetNamedColorName Handles the kCMMGetNamedColorName request by returning a named color name from a named color space profile for a specific named color index.
CMMGetNamedColorValue Handles the kCMMGetNamedColorValue request by returning device and PCS color values from a named color space profile for a specific color name.
CMMGetPS2ColorRendering Handles the kCMMGetPS2ColorRendering request by obtaining the rendering intent from the header of the source profile.
CMMGetPS2ColorRenderingIntent Handles the kCMMGetPS2ColorRenderingIntent request by obtaining the rendering intent from the source profile.
CMMGetPS2ColorRenderingVMSize Handles the kCMMGetPS2ColorRenderingVMSize request by obtaining the maximum virtual memory (VM) size of the color rendering dictionary (CRD) for the rendering intent specified by the source profile.
CMMGetPS2ColorSpace Handles the kCMMGetPS2ColorSpace request by obtaining or deriving the color space element data from the source profile.
CMMUnflattenProfile Handles the kCMMUnflattenProfile request by creating a uniquely-named file in the temporary items folder to store the profile data.
CMMValidateProfile Handles the kCMMValidateProfile request by determining if the specified profile contains the minimum set of elements required for a profile of its type.
CMMatchBitmap Handles the kCMMMatchBitmap request by matching the colors of the source image bitmap to the color gamut of the destination profile.
CMMatchPixMap Handles the kCMMMatchPixMap request by matching the colors of the specified pixel map image to the destination profile’s color gamut.
CMNewLinkProfile Handles the kCMMNewLinkProfile request by creating a single device link profile that includes the profiles in the specified profile set.

Required CMM-Defined Functions

CMCheckColors Handles the kCMMCheckColors request by checking the specified colors against the gamut of the destination profile.
CMMatchColors Handles the kCMMMatchColors request by matching the specified colors to the gamut of the destination profile.
NCMInit Handles the kNCMMInit request by performing any required private initialization.

Searching for Profiles Prior to ColorSync 2.5

CMDisposeProfileSearch Frees the private memory allocated for a profile search after your application has completed the search.
CMNewProfileSearch Searches the ColorSync Profiles folder and returns a list of 2.x profiles that match the search specification.
CMSearchGetIndProfile Opens the profile corresponding to a specific index into a specific search result list and obtains a reference to that profile.
CMSearchGetIndProfileFileSpec Obtains the file specification for the profile at a specific index into a search result.
CMUpdateProfileSearch Searches the ColorSync Profiles folder and updates an existing search result obtained originally from the CMNewProfileSearch function.

Searching for Profiles With ColorSync 2.5

CMIterateColorSyncFolder Iterates over the available profiles.

Searching for a Profile by Profile Identifier

CMProfileIdentifierFolderSearch Searches the ColorSync Profiles folder and returns a list of profile references, one for each profile that matches the specified profile identifier.
CMProfileIdentifierListSearch Searches a list of profile references and returns a list of all references that match a specified profile identifier.

Miscellaneous

BeginMatching
CMAccelerationCalculateData
CMAccelerationLoadTables
CMBeginMatching
CMConcatenateProfiles
CMConvertXYZToXYZ
CMCopyProfileLocalizedString
CMCopyProfileLocalizedStringDictionary
CMCountImageProfiles
CMCreateProfileIdentifier
CMDeleteDeviceProfile
CMDrawMatchedPicture
CMEmbedImage
CMFixedXYZToXYZ
CMGetColorSyncFolderPath
CMGetColorSyncVersion
CMGetDefaultDevice
CMGetDefaultProfileByUse
CMGetDeviceData
CMGetDeviceDefaultProfileID
CMGetDeviceProfile
CMGetDeviceProfiles
CMGetDeviceState
CMGetFactoryDeviceProfiles
CMGetGammaByAVID
CMGetImageSpace
CMGetIndImageProfile
CMGetIndexedProfile
CMGetProfile
CMGetProfileAdditionalDataOffset
CMGetProfileDescriptions
CMGetProfileName
CMGetUnicodeProfileDescription
CMHLSToRGB
CMHSVToRGB
CMInit
CMIterateCMMInfo
CMIterateColorDevices
CMIterateDeviceProfiles
CMLabToXYZ
CMLaunchControlPanel
CMLinkImage
CMLuvToXYZ
CMMCheckBitmap
CMMCheckColors
CMMCheckPixMap
CMMClose
CMMConcatInit
CMMConcatenateProfiles
CMMGetCMMInfo
CMMInit
CMMMatchBitmap
CMMMatchColors
CMMMatchPixMap
CMMNewLinkProfile
CMMOpen
CMMatchImage
CMProofImage
CMRGBToGray
CMRGBToHLS
CMRGBToHSV
CMRegisterColorDevice
CMSetDefaultDevice
CMSetDefaultProfileByUse
CMSetDeviceDefaultProfileID
CMSetDeviceProfiles
CMSetDeviceState
CMSetFactoryDeviceProfiles
CMSetGammaByAVID
CMSetIndImageProfile
CMSetProfile
CMSetProfileDescription
CMSetProfileDescriptions
CMSetProfileLocalizedStringDictionary
CMUnembedImage
CMUnregisterColorDevice
CMUseProfileComment
CMValidImage
CMXYZToFixedXYZ
CMXYZToLab
CMXYZToLuv
CMXYZToYxy
CMYxyToXYZ
CWMatchHBITMAP
CWNewColorWorld
CallCMBitmapCallBackProc
CallCMFlattenProc
CallCMMIterateProc
CallCMProfileAccessProc
CallCMProfileFilterProc
CallCMProfileIterateProc
CallCalibrateEventProc
CallCalibrateProc
CallCanCalibrateProc
CallOldCalibrateProc
CallOldCanCalibrateProc
ConcatenateProfiles
DeleteDeviceProfile
DisposeCMBitmapCallBackUPP
DisposeCMConcatCallBackUPP
DisposeCMFlattenUPP
DisposeCMMIterateUPP
DisposeCMProfileAccessUPP
DisposeCMProfileFilterUPP
DisposeCMProfileIterateUPP
DisposeCalibrateEventUPP
DisposeCalibrateUPP
DisposeCanCalibrateUPP
DisposeOldCalibrateUPP
DisposeOldCanCalibrateUPP
DrawMatchedPicture
EnableMatching
EndMatching
GetColorSyncFolderSpec
GetIndexedProfile
GetProfile
GetProfileAdditionalDataOffset
GetProfileName
InvokeCMBitmapCallBackUPP
InvokeCMConcatCallBackUPP
InvokeCMFlattenUPP
InvokeCMMIterateUPP
InvokeCMProfileAccessUPP
InvokeCMProfileFilterUPP
InvokeCMProfileIterateUPP
InvokeCalibrateEventUPP
InvokeCalibrateUPP
InvokeCanCalibrateUPP
InvokeOldCalibrateUPP
InvokeOldCanCalibrateUPP
NCMMConcatInit
NCMMInit
NCMMNewLinkProfile
NCMSetSystemProfile
NCMUnflattenProfile
NCWConcatColorWorld
NCWNewLinkProfile
NewCMBitmapCallBackUPP
NewCMConcatCallBackUPP
NewCMFlattenUPP
NewCMMIterateUPP
NewCMProfileAccessUPP
NewCMProfileFilterUPP
NewCMProfileIterateUPP
NewCalibrateEventUPP
NewCalibrateUPP
NewCanCalibrateUPP
NewOldCalibrateUPP
NewOldCanCalibrateUPP
SetProfile
SetProfileDescription
UseProfile

© 2000 Apple Computer, Inc. (Last Updated 7/17/2000)