11
votes

Opérations bitwises avec CGBITMAPInfo et CGIMAGELPHAINFO

J'ai du mal à effectuer des opérations bitwises avec cgimaSealphainfo code> et cgbitmapinfo code> à Swift.

en particulier, je ne sais pas comment porter cet objectif-c Code: P>

bitmapInfo &= ~CGBitmapInfo.AlphaInfoMask
bitmapInfo |= CGImageAlphaInfo.NoneSkipFirst


0 commentaires

3 Réponses :


1
votes

s'avère que cgimaalphanfo doit être converti en cgbitmapinfo afin d'effectuer des opérations biteux. Cela peut être fait comme ceci: xxx


0 commentaires

10
votes

Vous avez le bon code SWIFT SWIFT:

bitmapInfo &= ~CGBitmapInfo.AlphaInfoMask
bitmapInfo |= CGBitmapInfo(CGImageAlphaInfo.NoneSkipFirst.rawValue)
bitmapInfo |= CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)


1 commentaires

Cela a changé à nouveau dans Swift 2.0 qui utilise maintenant l'optionSettypeprotocol. Utilisez maintenant var bitmapinfo: cgbitmapinfo = cgbitmapinfo (Rawvalue: ~ cgbitmapinfo.alphainfomask.rawvalue | cgimaSealphainfo.noneskipfirst.rawvalue)



6
votes

A partir de SWIFT 3, Xcode 8 Beta 5, la syntaxe (comme Jackpearse a souligné, elle est conforme à l'optionSetType Protocol) et nous n'avons plus besoin de ~ cgbitmapinfo.alphainfomask.rawvalue , Nous utilisons simplement xxx

Vous pouvez ajouter d'autres paramètres d'information bitmap via l'opérateur | , par exemple xxx


0 commentaires