Jak przekonwertować NSImage na CGImage w Swift? W Objective-C, zrobiłem to tak:Swift NSImage to CGImage
- (CGImageRef)CGImage {
NSData *imageData = self.TIFFRepresentation;
CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);
CGImageRef maskRef = CGImageSourceCreateImageAtIndex(source, 0, NULL);
return maskRef;
}
Teraz Próbowałem z:
extension NSImage {
var CGImage: CGImageRef {
get {
let imageData = self.TIFFRepresentation
let source = CGImageSourceCreateWithData(imageData as CFDataRef, nil)
let maskRef = CGImageSourceCreateImageAtIndex(source, UInt(0), nil)
return maskRef;
}
}
}
nie mogę skompilować, otrzymuję błąd: Could not find an overload for 'init' that accepts the supplied arguments'
na linii let maskRef ...
prawo. Z książki firmy Apple: 'Gdy Swift importuje interfejsy API, które nie zostały adnotowane, kompilator nie może automatycznie zapamiętywać zarządzania zwróconymi obiektami Core Foundation. Swift otacza zwrócone obiekty Core Foundation w strukturze Unmanaged. Wszystkie pośrednio zwrócone obiekty Core Foundation są również niezarządzane. " Fragment: Apple Inc." Używanie Swift z kakao i Objective-C. "IBooks. https://itunes.apple.com/ru/book/using-swift-cocoa-objective/id888894773?l=en&mt=11 –
ovejka
co to jest takeUnretainedValue? nie ma czegoś takiego na szybkie. – SpaceDog