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を使用すると、このような大量のヒープが増加するのでしょうか。
ありがとうございました