2

我只需要将 .bgra8Unorm 纹理的字节转换为 RGBA 顺序并UIImage从数据中创建一个。我如下创建一个缓冲区。

var buffer = vImage_Buffer(data: data, height: UInt(height), width: UInt(width), rowBytes: bytesPerRow)
            
let map: [UInt8] = [2, 1, 0, 3]
vImagePermuteChannels_ARGB8888(&buffer, &buffer, map, 0)

但我收到错误消息

“使用未解析的标识符‘vImage_Buffer’”

“使用未解析的标识符‘vImagePermuteChannels_ARGB8888’”。

我已经导入了MetalKit。还有其他建议吗?

4

2 回答 2

4

就放

#import <Accelerate/Accelerate.h>

正如@OOPer 所评论的那样

于 2018-09-24T16:59:51.163 回答
1

斯威夫特 5 版本:

import Accelerate
于 2019-08-30T10:05:23.260 回答