私は画像フィルターアプリに取り組んでいます。以下のコードを使用してフィルターを作成しました。
context = [CIContext contextWithOptions:nil];
beginImage = [[CIImage alloc] initWithImage:[UIImage imageNamed:@"biscus_small.png"]];
filter = [CIFilter filterWithName:@"CISepiaTone"
keysAndValues: kCIInputImageKey, beginImage,
@"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
次に、ユーザーがフィルターを選択すると、フィルターが適用された後に CIImage を取得し、UIImageView に割り当てます。何らかの理由で、setImage の後の UIImageView に白 (何も表示されない) が表示されます。
CIImage *outputImage = [filter outputImage];
// CGImageRef cgimg =
// [context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *finalImage = [UIImage imageWithCIImage:outputImage];
[self.imageView setImage:finalImage];
CIContext の createCGImage メソッドを使用すると、正常に動作し、フィルタを使用して画像が表示されますが、createCGImage を使用すると非常に遅くなります。