gpt4 book ai didi

ios - Swift OpenGL 未解析标识符 kCGImageAlphaPremultipliedLast

转载 作者:IT王子 更新时间:2023-10-29 05:33:52 26 4
gpt4 key购买 nike

我收到“kCGImageAlphaPremultipliedLast”的未解决标识符错误。 swift 找不到它。这在 Swift 中可用吗?

var gc = CGBitmapContextCreate(&pixelData, width: width, height: height, bitsPerComponent: 8, bytesPerRow: width*4, imageCS, bitmapInfo: kCGImageAlphaPremultipliedLast);

最佳答案

CGBitmapContextCreate() 的最后一个参数定义为结构

struct CGBitmapInfo : RawOptionSetType {
init(_ rawValue: UInt32)
init(rawValue: UInt32)

static var AlphaInfoMask: CGBitmapInfo { get }
static var FloatComponents: CGBitmapInfo { get }
// ...
}

其中可能的“alpha 信息”位被单独定义为枚举:

enum CGImageAlphaInfo : UInt32 {
case None /* For example, RGB. */
case PremultipliedLast /* For example, premultiplied RGBA */
case PremultipliedFirst /* For example, premultiplied ARGB */
// ...
}

因此,您必须将枚举转换为其基础 UInt32 值然后从中创建一个 CGBitmapInfo:

let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
let gc = CGBitmapContextCreate(..., bitmapInfo)

Swift 2 更新:CGBitmapInfo 定义更改为

public struct CGBitmapInfo : OptionSetType

它可以用

初始化
let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.PremultipliedLast.rawValue)

关于ios - Swift OpenGL 未解析标识符 kCGImageAlphaPremultipliedLast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26640037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com