我无法从 CIImage 获取 UIImage。下面的代码行在 iOS6 上运行良好:(输出图像是 CIImage)
self.imageView = [UIImage imageWithCIImage:outputImage];
或者
[self.imageView setImage:[UIImage imageWithCIImage:outputImage]];
当我在运行 iOS 5 的设备上运行同一行代码时,imageView 为空白。如果我记录 UIImage 的 size 属性,它是正确的,但图像永远不会显示在屏幕上。
当我使用 CGImageRef(如下所示)时,它在两种设备上都可以正常工作,但是当我进行堆镜头分析时,它会导致巨大的内存增长。
context = [CIContext contextWithOptions:nil];
CGImageRef ref = [context createCGImage:outputImage fromRect:outputImage.extent];
self.imageView.image = [UIImage imageWithCGImage:ref scale:1.0 orientation:UIImageOrientationUp];
CGImageRelease(ref);
有谁知道为什么 UIImage imageWithCIImage 不起作用?根据 UIImage 类参考,它应该适用于 iOS5 及更高版本。另外,为什么使用 CGImageRef 会导致如此巨大的堆增长?
谢谢