Der letzte Parameter von CGBitmapContextCreate()
ist als Struktur definiert
struct CGBitmapInfo : RawOptionSetType {
init(_ rawValue: UInt32)
init(rawValue: UInt32)
static var AlphaInfoMask: CGBitmapInfo { get }
static var FloatComponents: CGBitmapInfo { get }
// ...
}
wo die möglichen "alpha info" Bits separat als Aufzählung definiert sind: Deshalb Sie
enum CGImageAlphaInfo : UInt32 {
case None /* For example, RGB. */
case PremultipliedLast /* For example, premultiplied RGBA */
case PremultipliedFirst /* For example, premultiplied ARGB */
// ...
}
muss die Enumeration in den zugrunde liegenden UInt32
Wert konvertieren und dann eineerstellenvon ihm:
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
let gc = CGBitmapContextCreate(..., bitmapInfo)
Update für Swift 2: Die CGBitmapInfo
Definition geändert
public struct CGBitmapInfo : OptionSetType
und es kann mir einfach gespeichert viel Zeit mit
let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.PremultipliedLast.rawValue)
Dank initialisiert werden ! – NJGUY
@Martin R Großartig Danke! – BurtK