微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CGBitmapContextCreate错误与swift

我试图在swift中创建一个CGContext。它编译,但在运行时抛出错误
let colorSpace:CGColorSpace = CGColorSpaceCreateDeviceRGB()
let context:CGContext = CGBitmapContextCreate(nil,20,8,colorSpace,CGBitmapInfo.AlphaInfoMask)
CGColorSpaceRelease(colorSpace);

....

错误是:

Error: CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 32 bits/pixel; 3-component color space; unrecognized; 96 bytes/row.
Fatal error: Can't unwrap Optional.None
为了防止有人遇到同样的问题。下面的代码片段终于奏效了。
let colorSpace:CGColorSpace = CGColorSpaceCreateDeviceRGB()
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
let context = CGBitmapContextCreate(nil,UInt(rect.size.width),UInt(rect.size.height),bitmapInfo)

它在swift中生成一个32位RGBA上下文

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐