<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreGraphics",
  "identifier" : "/documentation/CoreGraphics/CGColorConversionInfo",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Core Graphics"
    ],
    "preciseIdentifier" : "c:@T@CGColorConversionInfoRef"
  },
  "title" : "CGColorConversionInfo"
}
-->

# CGColorConversionInfo

An object that describes how to convert between color spaces for use by other system services.

```
class CGColorConversionInfo
```

## Overview

A [`CGColorConversionInfo`](/documentation/CoreGraphics/CGColorConversionInfo) object specifies a conversion between two or more color spaces, including information about the intent of the conversion. You use color conversion objects to specify the work to be done by an <doc://com.apple.documentation/documentation/MetalPerformanceShaders/MPSImageConversion> filter, which can then perform GPU-accelerated image conversion.

## Topics

### Creating a Color Conversion

[`init?(src: CGColorSpace, dst: CGColorSpace)`](/documentation/CoreGraphics/CGColorConversionInfo/init(src:dst:))

Creates a conversion between two specified color spaces.

[`init?(optionsSrc: CGColorSpace, dst: CGColorSpace, options: CFDictionary?)`](/documentation/CoreGraphics/CGColorConversionInfo/init(optionsSrc:dst:options:))

[`extern CGColorConversionInfoRefCGColorConversionInfoCreateFromList(CFDictionaryRef options, CGColorSpaceRef , CGColorConversionInfoTransformType , CGColorRenderingIntent , ...);`](/documentation/CoreGraphics/CGColorConversionInfoCreateFromList)

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

[`enum CGColorConversionInfoTransformType`](/documentation/CoreGraphics/CGColorConversionInfoTransformType)

Constants describing how a color conversion uses color spaces.

### Color Conversion Options

Use these keys in the options dictionary when calling `CGColorConversionInfoCreateFromList`.

[`class let conversionBlackPointCompensation: CFString`](/documentation/CoreGraphics/CGColor/conversionBlackPointCompensation)

An option for whether to apply black point compensation when converting between color profiles.

### Working with Core Foundation Types

[`class var typeID: CFTypeID`](/documentation/CoreGraphics/CGColorConversionInfo/typeID)

Returns the Core Foundation type identifier for a color conversion info data type.

### Instance Methods

[`func convert(width: Int, height: Int, to: UnsafeMutableRawPointer, format: CGColorBufferFormat, from: UnsafeRawPointer, format: CGColorBufferFormat, options: CFDictionary?) -> Bool`](/documentation/CoreGraphics/CGColorConversionInfo/convert(width:height:to:format:from:format:options:))

### Initializers

[`init?(src: CGColorSpace, srcHeadroom: Float, dst: CGColorSpace, dstHeadroom: Float, toneMapping: CGToneMapping, options: CFDictionary?, UnsafeMutablePointer<Unmanaged<CFError>?>?)`](/documentation/CoreGraphics/CGColorConversionInfo/init(src:srcHeadroom:dst:dstHeadroom:toneMapping:options:_:))

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`Equatable`](/documentation/Swift/Equatable)

---

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)