Uzyskiwanie CGImage z CIImage
Mam UIImage, który jest ładowany z CIImage za pomocą:
tempImage = [UIImage imageWithCIImage:ciImage];
Problem polega na tym, że muszę przyciąćtempImage
do konkretnegoCGRect
a jedynym sposobem, w jaki wiem, jak to zrobić, jest użycieCGImage
. Problem polega na tym, że w dokumentacji systemu iOS 6.0 znalazłem to:
CGImageIf the UIImage object was initialized using a CIImage object, the value of the property is NULL.
A. Jak przekonwertować z CIImage do CGImage? Używam tego kodu, ale mam wyciek pamięci (i nie rozumiem gdzie):
+(UIImage*)UIImageFromCIImage:(CIImage*)ciImage {
CGSize size = ciImage.extent.size;
UIGraphicsBeginImageContext(size);
CGRect rect;
rect.origin = CGPointZero;
rect.size = size;
UIImage *remImage = [UIImage imageWithCIImage:ciImage];
[remImage drawInRect:rect];
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
remImage = nil;
ciImage = nil;
//
return result;
}