У меня есть этот код
CIImage * input_ciimage = [CIImage imageWithCGImage:self.CGImage];
CIImage * output_ciimage =
[[CIFilter filterWithName:@"CILanczosScaleTransform" keysAndValues:
kCIInputImageKey, input_ciimage,
kCIInputScaleKey, [NSNumber numberWithFloat:0.72], // [NSNumber numberWithFloat: 800.0 / self.size.width],
nil] outputImage];
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef output_cgimage = [context createCGImage:output_ciimage
fromRect:[output_ciimage extent]];
UIImage *output_uiimage;
output_uiimage = [UIImage imageWithCGImage:output_cgimage
scale:1.0 orientation:self.imageOrientation];
CGImageRelease(output_cgimage);
return output_uiimage;
Итак, когда scaleKey больше некоторого значения, output_uiimage является черным изображением.
В моем случае, если значение ключа kCIInputScaleKey> @ 0.52, то результатом будет черное изображение. Когда я повернул изображение на 90 градусов, я получил тот же результат, но значение было 0,72 (а не 0,52).
Что не так с библиотекой или ошибка в моем коде?
У меня iPhone 4, iOS 7.1.2, xCode 6.0, если нужно.