che sto riscrivendo il codice UIImageEffects
di esempio di Apple da Objective-C a Swift e ho una domanda per quanto riguarda la seguente riga:Combinando CGBitmapInfo e CGImageAlphaInfo a Swift
vImage_CGImageFormat format = {
.bitsPerComponent = 8,
.bitsPerPixel = 32,
.colorSpace = NULL,
.bitmapInfo = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little,
.version = 0,
.decode = NULL,
.renderingIntent = kCGRenderingIntentDefault
};
Ecco la mia versione di Swift:
let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.PremultipliedFirst.rawValue | CGBitmapInfo.ByteOrder32Little.rawValue)
let format = vImage_CGImageFormat(bitsPerComponent: 8, bitsPerPixel: 32, colorSpace: nil, bitmapInfo: bitmapInfo, version: 0, decode: nil, renderingIntent: .RenderingIntentDefault)
È questo il modo più semplice di creare bitmapInfo
in Swift?
Non c'è operatore perché Swift vuole che tu pensi a questi come raccolte (quindi le operazioni di bit sono una specie di dettaglio di implementazione). La sintassi preferita utilizza un letterale di array: 'let bimapInfo: CGBitmapInfo = [CGBitmapInfo (rawValue: CGImageAlphaInfo.PremultipliedFirst.rawValue), .ByteOrder32Little]'. –