overwriteChannels(_:withPlanarBuffer:destination:)
Overwrites the pixels of one or more channels of the pixel buffer with the provided 32-bit planar pixel buffer.
Declaration
func overwriteChannels(_ channels: [UInt8], withPlanarBuffer buffer: vImage.PixelBuffer<vImage.PlanarF>, 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 a planar 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.Interleaved8x4.self)
let destination = vImage.PixelBuffer(size: vImage.Size(width: 1,
height: 2),
pixelFormat: vImage.Interleaved8x4.self)
let overwriteValues: [Pixel_F] = [ 101,
102 ]
let overwriteBuffer = vImage.PixelBuffer<vImage.PlanarF>(pixelValues: overwriteValues,
size: vImage.Size(width: 1,
height: 2))
buffer.overwriteChannels([3, 1],
withPlanarBuffer: overwriteBuffer,
destination: destination)On return, destination.array contains the following values:
[ 1, 101, 3, 101,
5, 102, 7, 102 ]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(_:withInterleavedBuffer:destination:)overwriteChannels(_:withInterleavedBuffer:destination:)