<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/alpha-compositing",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Alpha compositing"
}
-->

# Alpha compositing

Composite images together.

## Topics

### Performing nonpremultiplied alpha compositing

[`func vImageAlphaBlend_Planar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_Planar8(_:_:_:_:_:_:_:))

Performs nonpremultiplied alpha compositing of two 8-bit planar buffers.

[`func vImageAlphaBlend_PlanarF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_PlanarF(_:_:_:_:_:_:_:))

Performs nonpremultiplied alpha compositing of two 8-bit planar buffers.

[`func vImageAlphaBlend_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_ARGB8888(_:_:_:_:))

Performs nonpremultiplied alpha compositing of two 8-bit-per-channel, 4-channel ARGB buffers.

[`func vImageAlphaBlend_ARGBFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_ARGBFFFF(_:_:_:_:))

Performs nonpremultiplied alpha compositing of two 32-bit-per-channel, 4-channel ARGB buffers.

### Performing premultiplied alpha compositing

[`func vImagePremultipliedAlphaBlend_Planar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_Planar8(_:_:_:_:_:))

Performs premultiplied alpha compositing of two 8-bit planar buffers.

[`func vImagePremultipliedAlphaBlend_PlanarF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_PlanarF(_:_:_:_:_:))

Performs premultiplied alpha compositing of two 32-bit planar buffers.

[`func vImagePremultipliedAlphaBlend_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_ARGB8888(_:_:_:_:))

Performs premultiplied alpha compositing of two 8-bit-per-channel, 4-channel ARGB buffers.

[`func vImagePremultipliedAlphaBlend_ARGBFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_ARGBFFFF(_:_:_:_:))

Performs premultiplied alpha compositing of two 32-bit-per-channel, 4-channel ARGB buffers.

[`func vImagePremultipliedAlphaBlend_BGRA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_BGRA8888(_:_:_:_:))

Performs premultiplied alpha compositing of two 8-bit-per-channel, 4-channel BGRA buffers.

[`#define vImagePremultipliedAlphaBlend_RGBA8888(_srcTop, _srcBottom, _dest, _flags)`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_RGBA8888)

Performs premultiplied alpha compositing of two 8-bit-per-channel, 4-channel RGBA buffers.

[`func vImagePremultipliedAlphaBlend_BGRAFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_BGRAFFFF(_:_:_:_:))

Performs premultiplied alpha compositing of two 32-bit-per-channel, 4-channel BGRA buffers.

[`#define vImagePremultipliedAlphaBlend_RGBAFFFF(_srcTop, _srcBottom, _dest, _flags)`](/documentation/Accelerate/vImagePremultipliedAlphaBlend_RGBAFFFF)

Performs premultiplied alpha compositing of two 32-bit-per-channel, 4-channel RGBA buffers.

### Performing premultiplied alpha compositing with blend modes

[`func vImagePremultipliedAlphaBlendLighten_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlendLighten_RGBA8888(_:_:_:_:))

Performs alpha compositing of two 8-bit-per-channel, 4-channel BGRA buffers using the lighten blend mode.

[`func vImagePremultipliedAlphaBlendDarken_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlendDarken_RGBA8888(_:_:_:_:))

Performs alpha compositing of two 8-bit-per-channel, 4-channel BGRA buffers using the darken blend mode.

[`func vImagePremultipliedAlphaBlendScreen_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlendScreen_RGBA8888(_:_:_:_:))

Performs alpha compositing of two 8-bit-per-channel, 4-channel BGRA buffers using the screen blend mode.

[`func vImagePremultipliedAlphaBlendMultiply_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlendMultiply_RGBA8888(_:_:_:_:))

Performs alpha compositing of two 8-bit-per-channel, 4-channel BGRA buffers using the multiply blend mode.

### Performing premultiplied alpha compositing with a permute

[`func vImagePremultipliedAlphaBlendWithPermute_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<UInt8>, Bool, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlendWithPermute_ARGB8888(_:_:_:_:_:_:))

Permutes the top 8-bit, 4-channel premultiplied buffer, and composites with the bottom buffer.

[`func vImagePremultipliedAlphaBlendWithPermute_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<UInt8>, Bool, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedAlphaBlendWithPermute_RGBA8888(_:_:_:_:_:_:))

Permutes the top 8-bit, 4-channel premultiplied buffer, and composites with the bottom buffer.

### Performing premultiplied alpha compositing with a single alpha value

[`func vImagePremultipliedConstAlphaBlend_Planar8(UnsafePointer<vImage_Buffer>, Pixel_8, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedConstAlphaBlend_Planar8(_:_:_:_:_:_:))

Performs premultiplied alpha compositing of two 8-bit planar buffers and applies an extra alpha value to the top buffer.

[`func vImagePremultipliedConstAlphaBlend_PlanarF(UnsafePointer<vImage_Buffer>, Pixel_F, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedConstAlphaBlend_PlanarF(_:_:_:_:_:_:))

Performs premultiplied alpha compositing of two 32-bit planar buffers and applies an extra alpha value to the top buffer.

[`func vImagePremultipliedConstAlphaBlend_ARGB8888(UnsafePointer<vImage_Buffer>, Pixel_8, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedConstAlphaBlend_ARGB8888(_:_:_:_:_:))

Performs premultiplied alpha compositing of two 8-bit-per-channel, 4-channel interleaved buffers and applies an extra alpha value to the top buffer.

[`func vImagePremultipliedConstAlphaBlend_ARGBFFFF(UnsafePointer<vImage_Buffer>, Pixel_F, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultipliedConstAlphaBlend_ARGBFFFF(_:_:_:_:_:))

Performs premultiplied alpha compositing of two 32-bit-per-channel, 4-channel interleaved buffers and applies an extra alpha value to the top buffer.

### Performing nonpremultiplied to premultiplied alpha compositing

[`func vImageAlphaBlend_NonpremultipliedToPremultiplied_Planar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_NonpremultipliedToPremultiplied_Planar8(_:_:_:_:_:))

Composites a nonpremultiplied 8-bit planar buffer over a premultiplied 8-bit planar buffer and generates a premultiplied result.

[`func vImageAlphaBlend_NonpremultipliedToPremultiplied_PlanarF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_NonpremultipliedToPremultiplied_PlanarF(_:_:_:_:_:))

Composites a nonpremultiplied 32-bit planar buffer over a premultiplied 32-bit planar buffer and generates a premultiplied result.

[`func vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGB8888(_:_:_:_:))

Composites a nonpremultiplied 8-bit-per-channel, ARGB buffer over a premultiplied ARGB buffer and generates a premultiplied result.

[`func vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGBFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGBFFFF(_:_:_:_:))

Composites a nonpremultiplied 32-bit-per-channel, ARGB buffer over a premultiplied ARGB buffer and generates a premultiplied result.

### Converting from unpremultiplied to premultiplied format

[`func vImagePremultiplyData_Planar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_Planar8(_:_:_:_:))

Transforms an 8-bit planar buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_PlanarF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_PlanarF(_:_:_:_:))

Transforms a 32-bit planar buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_ARGB8888(_:_:_:))

Transforms an 8-bit-per-channel, 4-channel ARGB buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_RGBA8888(_:_:_:))

Transforms an 8-bit-per-channel, 4-channel RGBA buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`#define vImagePremultiplyData_BGRA8888(_src, _dest, _flags)`](/documentation/Accelerate/vImagePremultiplyData_BGRA8888)

Transforms an 8-bit-per-channel, 4-channel BGRA buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_ARGB16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_ARGB16U(_:_:_:))

Transforms an unsigned 16-bit-per-channel, 4-channel ARGB buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_RGBA16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_RGBA16U(_:_:_:))

Transforms an unsigned 16-bit-per-channel, 4-channel RGBA buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_RGBA16F(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_RGBA16F(_:_:_:))

Transforms a floating-point 16-bit-per-channel, 4-channel RGBA buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_ARGB16Q12(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_ARGB16Q12(_:_:_:))

Transforms a fixed-point 16-bit-per-channel, 4-channel ARGB buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_RGBA16Q12(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_RGBA16Q12(_:_:_:))

Transforms a fixed-point 16-bit-per-channel, 4-channel RGBA buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_ARGBFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_ARGBFFFF(_:_:_:))

Transforms a floating-point 32-bit-per-channel, 4-channel ARGB buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`func vImagePremultiplyData_RGBAFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImagePremultiplyData_RGBAFFFF(_:_:_:))

Transforms a floating-point 32-bit-per-channel, 4-channel ARGB buffer from nonpremultiplied alpha format to premultiplied alpha format.

[`#define vImagePremultiplyData_BGRAFFFF(_src, _dest, _flags)`](/documentation/Accelerate/vImagePremultiplyData_BGRAFFFF)

Transforms a floating-point 32-bit-per-channel, 4-channel BGRA buffer from nonpremultiplied alpha format to premultiplied alpha format.

### Converting from premultiplied to unpremultiplied format

[`func vImageUnpremultiplyData_Planar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_Planar8(_:_:_:_:))

Transforms an 8-bit planar buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_PlanarF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_PlanarF(_:_:_:_:))

Transforms a 32-bit planar buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_ARGB8888(_:_:_:))

Transforms an 8-bit-per-channel, 4-channel ARGB buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_RGBA8888(_:_:_:))

Transforms an 8-bit-per-channel, 4-channel RGBA buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`#define vImageUnpremultiplyData_BGRA8888(_src, _dest, _flags)`](/documentation/Accelerate/vImageUnpremultiplyData_BGRA8888)

Transforms an 8-bit-per-channel, 4-channel BGRA buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_ARGB16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_ARGB16U(_:_:_:))

Transforms an unsigned 16-bit-per-channel, 4-channel ARGB buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_RGBA16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_RGBA16U(_:_:_:))

Transforms an unsigned 16-bit-per-channel, 4-channel RGBA buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_RGBA16F(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_RGBA16F(_:_:_:))

Transforms a floating-point 16-bit-per-channel, 4-channel RGBA buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_ARGB16Q12(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_ARGB16Q12(_:_:_:))

Transforms a fixed-point 16-bit-per-channel, 4-channel ARGB buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_RGBA16Q12(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_RGBA16Q12(_:_:_:))

Transforms a fixed-point 16-bit-per-channel, 4-channel RGBA buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_ARGBFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_ARGBFFFF(_:_:_:))

Transforms a 32-bit-per-channel, 4-channel ARGB buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`func vImageUnpremultiplyData_RGBAFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageUnpremultiplyData_RGBAFFFF(_:_:_:))

Transforms a 32-bit-per-channel, 4-channel RGBA buffer from premultiplied alpha format to nonpremultiplied alpha format.

[`#define vImageUnpremultiplyData_BGRAFFFF(_src, _dest, _flags)`](/documentation/Accelerate/vImageUnpremultiplyData_BGRAFFFF)

Transforms a 32-bit-per-channel, 4-channel BGRA buffer from premultiplied alpha format to nonpremultiplied alpha format.

### Clipping color values to alpha

[`func vImageClipToAlpha_Planar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageClipToAlpha_Planar8(_:_:_:_:))

Clamps the values of an 8-bit planar buffer to the corresponding alpha values.

[`func vImageClipToAlpha_PlanarF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageClipToAlpha_PlanarF(_:_:_:_:))

Clamps the values of a 32-bit planar buffer to the corresponding alpha values.

[`func vImageClipToAlpha_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageClipToAlpha_ARGB8888(_:_:_:))

Clamps the values of an 8-bit-per-channel, 4-channel ARGB buffer to the corresponding alpha values.

[`func vImageClipToAlpha_RGBA8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageClipToAlpha_RGBA8888(_:_:_:))

Clamps the values of an 8-bit-per-channel, 4-channel RGBA buffer to the corresponding alpha values.

[`func vImageClipToAlpha_ARGBFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageClipToAlpha_ARGBFFFF(_:_:_:))

Clamps the values of a 32-bit-per-channel, 4-channel ARGB buffer to the corresponding alpha values.

[`func vImageClipToAlpha_RGBAFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageClipToAlpha_RGBAFFFF(_:_:_:))

Clamps the values of a 32-bit-per-channel, 4-channel RGBA buffer to the corresponding alpha values.

## See Also

  <doc://com.apple.accelerate/documentation/Accelerate/compositing-images-with-alpha-blending>

  <doc://com.apple.accelerate/documentation/Accelerate/compositing-images-with-vimage-blend-modes>



---

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)