私は Core Image を初めて使用し、いくつかのフィルターを試しています。いくつかのフィルターを機能させることができますが、他のフィルターは機能しませんでした。
たとえば、次のようなコードを使用して、CIGaussianGradient フィルターを機能させることができます。
CIVector *centerVector = [CIVector vectorWithX:150 Y:150];
CIColor *color0 = [CIColor colorWithRed:1.0 green:0.0 blue:1.0 alpha:1.0];
CIColor *color1 = [CIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
NSNumber *radius = [NSNumber numberWithFloat:300.0];
CIImage *theCIImage = [CIFilter filterWithName:@"CIGaussianGradient" keysAndValues:@"inputCenter", centerVector, @"inputColor0", color0, @"inputColor1", color1, @"inputRadius", radius, nil].outputImage;
UIImage *newImage = [UIImage imageWithCIImage: theCIImage];
self.ImgView.image = newImage;
しかし、次のような同様のコードを使用して CILinearGradient を機能させることはできません。
CIVector *point0 =[CIVector vectorWithX:0 Y:0];
CIVector *point1 =[CIVector vectorWithX:200 Y:200];
CIColor *color0 = [CIColor colorWithRed:1.0 green:0.0 blue:1.0 alpha:1.0];
CIColor *color1 = [CIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
CIImage *theCIImage = [CIFilter filterWithName:@"CILinearGradient" keysAndValues:@"inputPoint0", point0, @"inputPoint1", point1, @"inputColor0", color0, @"inputColor1", color1, nil].outputImage;
UIImage *newImage = [UIImage imageWithCIImage: theCIImage];
self.ImgView.image = newImage;
私は何が欠けていますか?
iOS 6.0でテストしています。