からCGImageを取得私はCIImageからロードされるUIImageがあります。問題は、私は特定のCGRect
へtempImage
をトリミングする必要があるCIImage
tempImage = [UIImage imageWithCIImage:ciImage];
と私が行う方法を知っている唯一の方法これはCGImage
を使用しています。 問題は、iOS 6.0のマニュアルには、私はこれを見つけたということです。
CGImage
If the UIImage object was initialized using a CIImage object, the value of the property is NULL.
A.どのように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;
}
作図を行うにはCGImageが必要です。 Joris Kluivers氏は、CIImageでCICropフィルタを使用することで、CGImageなしで作物を処理できると述べています。 CGImageが必要なことは他にありますか?もしそうなら、何? –
また、メモリリークに関して、InstrumentsのLeaksテンプレートを使用してみましたか? Leaks楽器とAllocations楽器のHeapshotツールの間で、あなたのアプリ内でどこにメモリが漏れているか蓄積されているかを特定できるはずです。 –
@PeterHosey私は何とかして何らかの理由で私はCIImageの200以上のライブインスタンスと100以上のCGImageを持っていることを発見しました。私はちょうどどこに見えないのですか – tagyro