---
title: Color transforms
framework: colorsync
role: collectionGroup
role_heading: API Collection
path: colorsync/color-transforms
---

# Color transforms

Convert color from one profile’s color space to another.

## Overview

Overview A ColorSyncTransform precomputes the conversion between a sequence of profiles. Color conversion requires significant computation, so the way you apply a transform affects performance. To convert pixels directly, call ColorSyncTransformConvert(_:_:_:_:_:_:_:_:_:_:_:_:). For production code or large buffers, get better performance by extracting a ColorSync code fragment with ColorSyncCreateCodeFragment(_:_:) and running it through vImage. Describe the layout of your pixel buffers with the pixel-format constants in Pixel format and data layout.

## Topics

### Representing transforms

- [ColorSyncTransform](colorsync/colorsynctransform.md)

### Creating and applying a transform

- [ColorSyncTransformCreate(_:_:)](colorsync/colorsynctransformcreate(_:_:).md)
- [ColorSyncTransformConvert(_:_:_:_:_:_:_:_:_:_:_:_:)](colorsync/colorsynctransformconvert(_:_:_:_:_:_:_:_:_:_:_:_:).md)
- [ColorSyncTransformGetProfileSequence(_:)](colorsync/colorsynctransformgetprofilesequence(_:).md)
- [ColorSyncTransformCopyProperty(_:_:_:)](colorsync/colorsynctransformcopyproperty(_:_:_:).md)
- [ColorSyncTransformSetProperty(_:_:_:)](colorsync/colorsynctransformsetproperty(_:_:_:).md)
- [ColorSyncTransformGetTypeID()](colorsync/colorsynctransformgettypeid().md)

### Choosing rendering intents

- [kColorSyncRenderingIntent](colorsync/kcolorsyncrenderingintent.md)
- [kColorSyncRenderingIntentPerceptual](colorsync/kcolorsyncrenderingintentperceptual.md)
- [kColorSyncRenderingIntentRelative](colorsync/kcolorsyncrenderingintentrelative.md)
- [kColorSyncRenderingIntentSaturation](colorsync/kcolorsyncrenderingintentsaturation.md)
- [kColorSyncRenderingIntentAbsolute](colorsync/kcolorsyncrenderingintentabsolute.md)
- [kColorSyncRenderingIntentUseProfileHeader](colorsync/kcolorsyncrenderingintentuseprofileheader.md)

### Proofing and gamut checking

- [ColorSyncProfileCreateLink(_:_:)](colorsync/colorsyncprofilecreatelink(_:_:).md)
- [kColorSyncTransformDeviceToDevice](colorsync/kcolorsynctransformdevicetodevice.md)
- [kColorSyncTransformGamutCheck](colorsync/kcolorsynctransformgamutcheck.md)

### Accessing transform properties

- [kColorSyncProfile](colorsync/kcolorsyncprofile.md)
- [kColorSyncTransformCreator](colorsync/kcolorsynctransformcreator.md)
- [kColorSyncTransformDeviceToPCS](colorsync/kcolorsynctransformdevicetopcs.md)
- [kColorSyncTransformDstSpace](colorsync/kcolorsynctransformdstspace.md)
- [kColorSyncTransformInfo](colorsync/kcolorsynctransforminfo.md)
- [kColorSyncTransformPCSToDevice](colorsync/kcolorsynctransformpcstodevice.md)
- [kColorSyncTransformPCSToPCS](colorsync/kcolorsynctransformpcstopcs.md)
- [kColorSyncTransformProfileSequnce](colorsync/kcolorsynctransformprofilesequnce.md)
- [kColorSyncTransformSrcSpace](colorsync/kcolorsynctransformsrcspace.md)
- [kColorSyncTransformTag](colorsync/kcolorsynctransformtag.md)

### Extracting a conversion for vImage

- [ColorSyncCreateCodeFragment(_:_:)](colorsync/colorsynccreatecodefragment(_:_:).md)
- [kColorSyncTransformCodeFragmentType](colorsync/kcolorsynctransformcodefragmenttype.md)
- [kColorSyncTransformCodeFragmentMD5](colorsync/kcolorsynctransformcodefragmentmd5.md)

### Reading conversion data sets

- [kColorSyncTransformFullConversionData](colorsync/kcolorsynctransformfullconversiondata.md)
- [kColorSyncTransformParametricConversionData](colorsync/kcolorsynctransformparametricconversiondata.md)
- [kColorSyncTransformSimplifiedConversionData](colorsync/kcolorsynctransformsimplifiedconversiondata.md)
- [kColorSyncConversionBPC](colorsync/kcolorsyncconversionbpc.md)
- [kColorSyncFixedPointRange](colorsync/kcolorsyncfixedpointrange.md)

### Reading curves and matrices

- [kColorSyncConversionParamCurve0](colorsync/kcolorsyncconversionparamcurve0.md)
- [kColorSyncConversionParamCurve1](colorsync/kcolorsyncconversionparamcurve1.md)
- [kColorSyncConversionParamCurve2](colorsync/kcolorsyncconversionparamcurve2.md)
- [kColorSyncConversionParamCurve3](colorsync/kcolorsyncconversionparamcurve3.md)
- [kColorSyncConversionParamCurve4](colorsync/kcolorsyncconversionparamcurve4.md)
- [kColorSyncConversionMatrix](colorsync/kcolorsyncconversionmatrix.md)

### Reading lookup tables

- [kColorSyncConversion1DLut](colorsync/kcolorsyncconversion1dlut.md)
- [kColorSyncConversion3DLut](colorsync/kcolorsyncconversion3dlut.md)
- [kColorSyncConversionNDLut](colorsync/kcolorsyncconversionndlut.md)
- [kColorSyncConversionGridPoints](colorsync/kcolorsyncconversiongridpoints.md)
- [kColorSyncConversionChannelID](colorsync/kcolorsyncconversionchannelid.md)
- [kColorSyncConversionInpChan](colorsync/kcolorsyncconversioninpchan.md)
- [kColorSyncConversionOutChan](colorsync/kcolorsyncconversionoutchan.md)

### Setting conversion quality

- [kColorSyncBestQuality](colorsync/kcolorsyncbestquality.md)
- [kColorSyncBlackPointCompensation](colorsync/kcolorsyncblackpointcompensation.md)
- [kColorSyncConvertQuality](colorsync/kcolorsyncconvertquality.md)
- [kColorSyncDraftQuality](colorsync/kcolorsyncdraftquality.md)
- [kColorSyncNormalQuality](colorsync/kcolorsyncnormalquality.md)

### Handling HDR and extended range

- [kColorSyncExtendedRange](colorsync/kcolorsyncextendedrange.md)
- [kColorSyncConvertUseExtendedRange](colorsync/kcolorsyncconvertuseextendedrange.md)
- [kColorSyncTransformUseITU709OETF](colorsync/kcolorsynctransformuseitu709oetf.md)
- [kColorSyncHDRDerivative](colorsync/kcolorsynchdrderivative.md)
- [kColorSyncPQDerivative](colorsync/kcolorsyncpqderivative.md)
- [kColorSyncHLGDerivative](colorsync/kcolorsynchlgderivative.md)

### Choosing a color management module

- [kColorSyncPreferredCMM](colorsync/kcolorsyncpreferredcmm.md)

## See Also

### Color conversion

- [Pixel format and data layout](colorsync/pixel-format.md)
