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

# CGImageAlphaInfo

Storage options for alpha component data.

```
enum CGImageAlphaInfo
```

## Overview

A [`CGImageAlphaInfo`](/documentation/CoreGraphics/CGImageAlphaInfo) constant specifies (1) whether a bitmap contains an alpha channel, (2) where the alpha bits are located in the image data, and (3) whether the alpha value is premultiplied. You can obtain a [`CGImageAlphaInfo`](/documentation/CoreGraphics/CGImageAlphaInfo) constant for an image by calling the [`alphaInfo`](/documentation/CoreGraphics/CGImage/alphaInfo) function. (You provide a [`CGBitmapInfo`](/documentation/CoreGraphics/CGBitmapInfo) constant to the function [`init(width:height:bitsPerComponent:bitsPerPixel:bytesPerRow:space:bitmapInfo:provider:decode:shouldInterpolate:intent:)`](/documentation/CoreGraphics/CGImage/init(width:height:bitsPerComponent:bitsPerPixel:bytesPerRow:space:bitmapInfo:provider:decode:shouldInterpolate:intent:)), part of which is a [`CGImageAlphaInfo`](/documentation/CoreGraphics/CGImageAlphaInfo) constant.)

Alpha blending is accomplished by combining the color components of the source image with the color components of the destination image using the linear interpolation formula, where “source” is one color component of one pixel of the new paint and “destination” is one color component of the background image.

Core Graphics supports premultiplied alpha only for images. You should not premultiply any other color values specified in Core Graphics.

## Topics

### Constants

[`CGImageAlphaInfo.first`](/documentation/CoreGraphics/CGImageAlphaInfo/first)

The alpha component is stored in the most significant bits of each pixel. For example, non-premultiplied ARGB.

[`CGImageAlphaInfo.last`](/documentation/CoreGraphics/CGImageAlphaInfo/last)

The alpha component is stored in the least significant bits of each pixel. For example, non-premultiplied RGBA.

[`CGImageAlphaInfo.none`](/documentation/CoreGraphics/CGImageAlphaInfo/none)

There is no alpha channel.

[`CGImageAlphaInfo.noneSkipFirst`](/documentation/CoreGraphics/CGImageAlphaInfo/noneSkipFirst)

There is no alpha channel. If the total size of the pixel is greater than the space required for the number of color components in the color space, the most significant bits are ignored.

[`CGImageAlphaInfo.alphaOnly`](/documentation/CoreGraphics/CGImageAlphaInfo/alphaOnly)

There is no color data, only an alpha channel.

[`CGImageAlphaInfo.noneSkipLast`](/documentation/CoreGraphics/CGImageAlphaInfo/noneSkipLast)

There is no alpha channel.

[`CGImageAlphaInfo.premultipliedFirst`](/documentation/CoreGraphics/CGImageAlphaInfo/premultipliedFirst)

The alpha component is stored in the most significant bits of each pixel and the color components have already been multiplied by this alpha value. For example, premultiplied ARGB.

[`CGImageAlphaInfo.premultipliedLast`](/documentation/CoreGraphics/CGImageAlphaInfo/premultipliedLast)

The alpha component is stored in the least significant bits of each pixel and the color components have already been multiplied by this alpha value. For example, premultiplied RGBA.



---

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)