次のコードは、画像に素晴らしいセピア効果を追加しますが、たとえば別のフィルターを選択すると、画像がCIBloom
まったく表示されません。手伝ってくれますか?
- (void)drawRect:(CGRect)rect
{
UIImage *megan = [UIImage imageNamed:@"megan.png"];
CIImage *cimage = [[CIImage alloc] initWithImage:megan];
CIFilter *myFilter = [CIFilter filterWithName:@"CISepiaTone"];
[myFilter setDefaults];
[myFilter setValue:cimage forKey:@"inputImage"];
[myFilter setValue:[NSNumber numberWithFloat:0.8f] forKey:@"inputIntensity"];
CIImage *image = [myFilter outputImage];
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgImage = [context createCGImage:image fromRect:image.extent];
UIImage *resultUIImage = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);
CGRect imageRecht = [[UIScreen mainScreen] bounds];
[resultUIImage drawInRect:imageRecht];
}
私の理解では、次の行を編集してフィルターを変更できるはずです。
CIFilter *myFilter = [CIFilter filterWithName:@"CIBloom"];
[myFilter setValue:[NSNumber numberWithFloat:10.0f] forKey:@"inputIntensity"];
しかし、これを行うと、アプリを起動したときに画像がまったく表示されません。