Converts and permutes an ARGB8888 image to an ARGB16U image.
SDKs
- iOS 7.0+
- macOS 10.9+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Framework
- Accelerate
Declaration
func vImageConvert_ARGB8888ToARGB16U(_ src: Unsafe Pointer<v Image _Buffer>, _ dest: Unsafe Pointer<v Image _Buffer>, _ permuteMap: Unsafe Pointer<UInt8>, _ copyMask: UInt8, _ backgroundColor: Unsafe Pointer<UInt16>, _ flags: v Image _Flags) -> v Image _Error
Parameters
src
A pointer to a vImage buffer structure that contains the source image whose data you want to convert.
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
An array of four 8-bit integers with the values 0, 1, 2, and 3, in some order. Each value specifies a channel from the source image that should be copied to that channel in the destination image. 0 denotes the alpha channel, 1 the red channel, 2 the green channel, and 3 the blue channel.
copyMask
A mask to choose between the
result
and thebackground
.Color 100
uses the first channel ofbackground
as the value of channel R in the result.Color 010
uses the second channel ofbackground
as the value of channel G in the result.Color 001
uses the third channel ofbackground
as the value of channel B in the result.Color
backgroundColor
A pointer to 16-bit ARGB values that replace the result pixels based on the copy mask.
flags
The options to use when performing the operation. 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.