<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.12.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreGraphics",
  "identifier" : "/documentation/CoreGraphics/CGColorConversionInfoCreateFromList",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Core Graphics"
    ],
    "preciseIdentifier" : "c:@F@CGColorConversionInfoCreateFromList"
  },
  "title" : "CGColorConversionInfoCreateFromList"
}
-->

# CGColorConversionInfoCreateFromList

Creates a conversion between an arbitrary number of specified color spaces.

```
extern CGColorConversionInfoRefCGColorConversionInfoCreateFromList(CFDictionaryRef options, CGColorSpaceRef , CGColorConversionInfoTransformType , CGColorRenderingIntent , ...);
```

## Discussion

### Parameters

- options: A dictionary containing options for color space conversion. See [`CGColorConversionInfo`](/documentation/CoreGraphics/CGColorConversionInfo).
- colorSpace: The first color space in the conversion.
- transformType: The role of the first color space to the conversion process. See [`CGColorConversionInfoTransformType`](/documentation/CoreGraphics/CGColorConversionInfoTransformType).
- renderingIntent: The rendering intent to use with the first color space. See [`CGColorRenderingIntent`](/documentation/CoreGraphics/CGColorRenderingIntent).
- …: A `NULL`-terminated list of additional `colorSpace, transformType, renderingIntent` triplets.

### Returns

A color conversion object, or `nil` if no conversion between the specified color spaces is allowed.

## Discussion

To call this function you must pass a triplet of color space, transform type, and rendering intent for each color space in the chain of conversions. For example, the following code is equivalent to calling [`init(src:dst:)`](/documentation/CoreGraphics/CGColorConversionInfo/init(src:dst:)):

```objc
// convert from `src` to `dst` space with default intent
CGColorConversionInfoCreateFromList(NULL,
    src, kCGColorConversionTransformFromSpace, kCGRenderingIntentDefault,
    dst, kCGColorConversionTransformToSpace,   kCGRenderingIntentDefault,
    NULL);
```

To extend this example to convert through an intermediate color space, insert another space/type/intent triplet between the `src` and `dst` lines, using the [`CGColorConversionInfoTransformType.transformApplySpace`](/documentation/CoreGraphics/CGColorConversionInfoTransformType/transformApplySpace) type.

The listed color spaces must be calibrated color spaces (that is, not device-specific or indexed color spaces), and the list must contain at least two color spaces (that is, two triplets of space, type, and intent).

You can use a color conversion object to create <doc://com.apple.documentation/documentation/MetalPerformanceShaders/MPSImageConversion> filters that perform GPU-accelerated color space conversion.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)