只是尝试使用:
var context = CGBitmapContextCreate(nil,
self.bounds.width as UInt,
self.bounds.height as UInt,
8,
nil,
CGColorSpaceCreateDeviceRGB(),
kCGBitmapByteOrder32Big)
但是它说
kCGBitmapByteOrder32Big
是无法解析的标识符。但是我在stackoverflow中发现了许多这样的示例,但是对于ObjectiveC。问:如何初始化/获取CGBitmapInfo正确的语法:
var context:CGContextRef = CGBitmapContextCreate(nil,
UInt(self.bounds.width),
UInt(self.bounds.height),
8,
0,
CGColorSpaceCreateDeviceRGB(),
CGBitmapInfo.ByteOrder32Big)
最佳答案
在Swift中,这应该是CGBitmapInfo.ByteOrder32Big
。您可以将其作为.ByteOrder32Big
传递,因为已经知道CGBitmapInfo
类型。
通常,形式为TypeValue或kTypeValue的ObjC/CoreFoundation枚举在Swift中为Type.Value。
您正在将nil
作为bytesPerRow
传递。我认为您的意思是0
。 nil
不是一回事(尽管它可能在ObjC中对您有用)。