overwriteChannels(_:withInterleavedBuffer:destination:)
Overwrites the pixels of one or more channels of the pixel buffer with the provided 32-bit interleaved pixel buffer.
Declaration
func overwriteChannels(_ channels: [UInt8], withInterleavedBuffer buffer: vImage.PixelBuffer<Format>, destination: vImage.PixelBuffer<Format>)Parameters
- channels:
An array that contains the indices of the channels that the function overwrites.
- buffer:
The planar buffer that the function writes to the channels.
- destination:
The destination pixel buffer.
Discussion
Use this function to overwrite one or more channels of an interleaved buffer with an interleaved buffer. The following code overwrites channels 1 and 3 with the values in overwriteValues:
let pixelValues: [Pixel_F] = [ 1, 2, 3, 4,
5, 6, 7, 8 ]
let buffer = vImage.PixelBuffer(pixelValues: pixelValues,
size: vImage.Size(width: 1,
height: 2),
pixelFormat: vImage.InterleavedFx4.self)
let destination = vImage.PixelBuffer(size: vImage.Size(width: 1,
height: 2),
pixelFormat: vImage.InterleavedFx4.self)
let overwriteValues: [Pixel_F] = [ 101, 102, 103, 104,
105, 106, 107, 108]
let overwriteBuffer = vImage.PixelBuffer<vImage.Interleaved8x4>(pixelValues: overwriteValues,
size: vImage.Size(width: 1,
height: 2))
buffer.overwriteChannels([3, 1],
withInterleavedBuffer: overwriteBuffer,
destination: destination)On return, destination.array contains the following values:
[ 1, 102, 3, 104,
5, 106, 7, 108 ]See Also
Overwriting Channels
overwriteChannels(withScalar:)overwriteChannels(withScalar:)overwriteChannels(withScalar:)overwriteChannels(_:withScalar:destination:)overwriteChannels(_:withScalar:destination:)overwriteChannels(_:withPixel:destination:)overwriteChannels(_:withPixel:destination:)overwriteChannels(_:withPixel:destination:)overwriteChannels(_:withPlanarBuffer:destination:)overwriteChannels(_:withPlanarBuffer:destination:)overwriteChannels(_:withInterleavedBuffer:destination:)