У меня есть UIImage, который загружается из CIImage с помощью:
tempImage = [UIImage imageWithCIImage:ciImage];
Проблема в том, что мне нужно обрезать tempImage
до определенного CGRect
, и единственный способ, которым я знаю, как это сделать, - использовать CGImage
.
Проблема в том, что в документации iOS 6.0 я нашел это:
CGImage If the UIImage object was initialized using a CIImage object, the value of the property is NULL.
а. Как конфертировать из CIImage в CGImage? Я использую этот код, но у меня есть утечка памяти (и не могу понять, где):
+(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;
}