<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/overwriting-channels",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Overwriting channels"
}
-->

# Overwriting channels

Overwrite the channels of a buffer.

## Topics

### Overwriting with another buffer

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

Overwrites the channels of an 8-bit-per-channel, 4-channel interleaved buffer with the specified channels of the corresponding pixels of a second buffer.

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

Overwrites the channels of a floating-point 32-bit-per-channel, 4-channel interleaved buffer with the specified channels of the corresponding pixels of a second buffer.

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

Overwrites the channels of an 8-bit-per-channel, 4-channel interleaved buffer with the corresponding pixels of a planar buffer.

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

Overwrites the channels of a floating-point 32-bit-per-channel, 4-channel interleaved buffer with the corresponding pixels of a planar buffer.

### Overwriting with pixel values

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

Overwrites the channels of an 8-bit-per-channel, 4-channel interleaved buffer with the specified channels of a pixel value.

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

Overwrites the channels of an unsigned 16-bit-per-channel, 4-channel interleaved buffer with the specified channels of a pixel value.

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

Overwrites the channels of a floating-point 32-bit-per-channel, 4-channel interleaved buffer with the specified channels of a pixel value.

### Overwriting with scalar values

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

Overwrites an 8-bit planar buffer with the specified scalar value in place.

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

Overwrites an unsigned 16-bit planar buffer with the specified scalar value in place.

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

Overwrites a signed 16-bit planar buffer with the specified scalar value in place.

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

Overwrites a floating-point 16-bit planar buffer with the specified scalar value in place.

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

Overwrites a floating-point 32-bit planar buffer with the specified scalar value in place.

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

Overwrites the selected channels of an 8-bit-per-channel, 4-channel interleaved buffer with the specified scalar value.

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

Overwrites the selected channels of a 32-bit-per-channel, 4-channel interleaved buffer with the specified scalar value.



---

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)