<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/functions-that-remove-an-alpha-channel-from-four-channel-buffers",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Functions that remove an alpha channel from four-channel buffers"
}
-->

# Functions that remove an alpha channel from four-channel buffers

Remove the alpha channel from an RGBA or ARGB buffer.

## Topics

### Conversion from 8-bit-per-channel, 4-channel interleaved buffers

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

Removes the alpha channel from an 8-bit-per-channel ARGB buffer to produce an 8-bit-per-channel RGB result.

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

Removes the alpha channel from an 8-bit-per-channel RGBA buffer to produce an 8-bit-per-channel RGB result.

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

Removes the alpha channel from an 8-bit-per-channel BGRA buffer to produce an 8-bit-per-channel RGB result.

[`#define vImageConvert_BGRA8888toBGR888(_bgraSrc, _bgrDest, _flags)`](/documentation/Accelerate/vImageConvert_BGRA8888toBGR888)

Removes the alpha channel from an 8-bit-per-channel BGRA buffer to produce an 8-bit-per-channel BGR result.

[`#define vImageConvert_RGBA8888toBGR888(_rgbaSrc, _bgrDest, _flags)`](/documentation/Accelerate/vImageConvert_RGBA8888toBGR888)

Removes the alpha channel from an 8-bit-per-channel RGBA buffer to produce an 8-bit-per-channel BGR result.

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

Removes the alpha channel from an 8-bit-per-channel ARGB buffer to produce an RGB565 result.

[`func vImageConvert_ARGB8888toRGB565_dithered(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_ARGB8888toRGB565_dithered(_:_:_:_:_:))

Removes the alpha channel from an 8-bit-per-channel ARGB buffer using the specified dithering algorithm to produce an RGB565 result.

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

Removes the alpha channel from an 8-bit-per-channel RGBA buffer to produce an RGB565 result.

[`func vImageConvert_BGRA8888toRGB565_dithered(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_BGRA8888toRGB565_dithered(_:_:_:_:_:))

Removes the alpha channel from an 8-bit-per-channel BGRA buffer using the specified dithering algorithm to produce an RGB565 result.

[`func vImageConvert_RGBA8888toRGB565_dithered(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_RGBA8888toRGB565_dithered(_:_:_:_:_:))

Removes the alpha channel from an 8-bit-per-channel RGBA buffer using the specified dithering algorithm to produce an RGB565 result.

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

Removes the alpha channel from an 8-bit-per-channel RGBA buffer to produce an RGB565 result.

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

Removes the alpha channel from an 8-bit-per-channel ARGB buffer to produce an unsigned 16-bit-per-channel RGB result.

### Conversion from unsigned 16-bit-per-channel, 4-channel interleaved buffers

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

Removes the alpha channel from an unsigned 16-bit-per-channel ARGB buffer to produce an unsigned 16-bit-per-channel RGB result.

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

Removes the alpha channel from an unsigned 16-bit-per-channel BGRA buffer to produce an unsigned 16-bit-per-channel RGB result.

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

Removes the alpha channel from an unsigned 16-bit-per-channel RGBA buffer to produce an unsigned 16-bit-per-channel RGB result.

### Conversion from ARGB1555 16-bit-per-channel, 4-channel interleaved buffers

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

Removes the alpha channel from an ARGB1555 buffer to produce an RGB565 result.

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

Removes the alpha channel from an RGBA5551 buffer to produce an RGB565 result.

### Conversion from 32-bit-per-channel, 4-channel interleaved buffers

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

Removes the alpha channel from a floating-point 32-bit-per-channel ARGB buffer to produce a floating-point 32-bit-per-channel RGB result.

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

Removes the alpha channel from a floating-point 32-bit-per-channel BGRA buffer to produce a floating-point 32-bit-per-channel RGB result.

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

Removes the alpha channel from a floating-point 32-bit-per-channel RGBA buffer to produce a floating-point 32-bit-per-channel RGB result.



---

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)