overwriteChannels(_:withPixel:destination:)
Overwrites the pixels of one or more channels of the pixel buffer with the provided 32-bit, 4-channel pixel value.
Declaration
func overwriteChannels(_ channels: [UInt8], withPixel pixel: Pixel_FFFF, destination: vImage.PixelBuffer<Format>)Parameters
- channels:
An array that contains the indices of the channels that the function overwrites.
- pixel:
The value 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 pixel value. The following code overwrites channels 1 and 3 with the corresponding channels in pixel :
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 pixel = Pixel_FFFF(101, 102, 103, 104)
buffer.overwriteChannels([3, 1],
withPixel: pixel,
destination: destination)On return, `destination.array` contains the following values:
[ 1, 102, 3, 104,
5, 102, 7, 104 ]See Also
Overwriting Channels
overwriteChannels(withScalar:)overwriteChannels(withScalar:)overwriteChannels(withScalar:)overwriteChannels(_:withScalar:destination:)overwriteChannels(_:withScalar:destination:)overwriteChannels(_:withPixel:destination:)overwriteChannels(_:withPixel:destination:)overwriteChannels(_:withPlanarBuffer:destination:)overwriteChannels(_:withPlanarBuffer:destination:)overwriteChannels(_:withInterleavedBuffer:destination:)overwriteChannels(_:withInterleavedBuffer:destination:)