Reorders the channels of the top 8-bit, 4-channel, premultiplied image, and blends the image into a bottom premultiplied, RGBA8888 image.
SDKs
- iOS 7.0+
- macOS 10.9+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Framework
- Accelerate
Declaration
func vImagePremultipliedAlphaBlendWithPermute_RGBA8888(_ srcTop: Unsafe Pointer<v Image _Buffer>, _ srcBottom: Unsafe Pointer<v Image _Buffer>, _ dest: Unsafe Pointer<v Image _Buffer>, _ permuteMap: Unsafe Pointer<UInt8>, _ makeDestAlphaOpaque: Bool, _ flags: v Image _Flags) -> v Image _Error
Parameters
srcTop
A pointer to a vImage buffer structure that contains data for the top source image.
srcBottom
A pointer to a vImage buffer structure that contains data for the bottom source image.
dest
A pointer to a vImage buffer data structure. You're responsible for filling out the
height
,width
, androw
fields of this structure, and for allocating a data buffer of the appropriate size. On return, the data buffer this structure points to contains the destination image data. When you no longer need the data buffer, you must deallocate the memory.Bytes permuteMap
Values that can be used to switch the channel order of the source top image.
makeDestAlphaOpaque
A Boolean value that sets destination alpha to
0x
when true.FF flags
The options to use when performing the compositing. If you plan to perform your own tiling or use multithreading, pass
kv
.Image Do Not Tile
Return Value
kv
; otherwise, one of the error codes described in Data Types and Constants.
Discussion
The permuteMap parameter changes the order of the src
channels:
permute
specifies which channel inMap[0] src
XXXX8888 will be used as A.Top permute
specifies which channel inMap[1] src
XXXX8888 will be used as R.Top permute
specifies which channel inMap[2] src
XXXX8888 will be used as G.Top permute
specifies which channel inMap[3] src
XXXX8888 will be used as B.Top