2011-05-03 18 views

cevap

26

şey: Swift 3 için güncellendi

-(UIImage*)doImageOperation 
{ 
    // Do your stuff here 
    CGImageRef imgRef = CGBitmapContextCreateImage(context); 
    UIImage* img = [UIImage imageWithCGImage:imgRef]; 
    CGImageRelease(imgRef); 
    CGContextRelease(context); 
    return img; 
} 
+0

Teşekkürler! Bununla birlikte, kullanmak için uygun bir yöntem 'UIImage * UIGraphicsGetImageFromImageContext (CGContextRef bağlamı)' oluşturdum. – samwize

+1

Bu yalnızca "context" bir CGBitmapContext ise çalışır; Muhtemelen başka bir CGContext üzerinde çalışmayacaktır. @samwize: Buna farklı bir ad vermelisiniz. Önekler, ad alanlarına göre sıralanır; Apple, herhangi bir zamanda 'UIGraphicsGetImageFromImageContext' adlı bir işlevi, herkese açık veya özel olarak ekleyebilir ve eğer yaparsa, sizin sorunlarınız olur. Kendi önekini kullan. –

+0

Tavsiye için teşekkürler! – samwize

2

, bu CGContext alır ve bir UIImage döndüren bir kolaylık işlevidir. Artık Swift 3 ile işiniz bittiğinde içeriği serbest bırakmanız gerekmediğini unutmayın.

func imageFromContext(_ context: CGContext) -> UIImage? { 
    guard let cgImage = context.makeImage() else { return nil } 
    return UIImage.init(cgImage: cgImage) 
} 
İlgili konular