首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kCGImageAlphaNone未解析标识符

kCGImageAlphaNone未解析标识符
EN

Stack Overflow用户
提问于 2014-12-10 14:57:25
回答 2查看 4.8K关注 0票数 4

我试图用Swift中的SpriteKit将图像/纹理转换为灰度,并使用CoreImage:

我找到了这样的答案:https://stackoverflow.com/a/17218546/836501,我试图将它转换为用于iOS7 7/8的which

kCGImageAlphaNone并不存在。相反,我可以使用CGImageAlphaInfo.None,但是函数CGBitmapContextCreate()不喜欢它作为它的最后一个参数。我不得不使用枚举CGBitmapInfo,但是里面似乎没有kCGImageAlphaNone等效的东西。

这是带有错误参数的整行(最后一个参数):

代码语言:javascript
复制
var context = CGBitmapContextCreate(nil, UInt(width), UInt(height), 8, 0, colorSpace, kCGImageAlphaNone)

在Swift中,我只需要一种将UIImage转换为灰度的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-10 15:40:45

您必须从struct CGBitmapInfo值创建一个CGImageAlphaInfo.None

代码语言:javascript
复制
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.None.rawValue)
var context = CGBitmapContextCreate(nil, UInt(width), UInt(height), 8, 0, colorSpace, bitmapInfo)
票数 12
EN

Stack Overflow用户

发布于 2014-12-10 15:24:59

我相信原来的目标-C代码是错的。kCGImageAlphaNone枚举值不是要传递的适当类型,但是Objective不太安全(枚举就是枚举),因此它起了作用。kCGImageAlphaNone的原始值是0,因此传递CGBitmapInfo.allZerosCGBitmapInfo.ByteOrderDefault (两者都有0的原始值)应该会给出相同的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27404107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档