2013-02-12 9 views
5

मैं कोर छवि के लिए नया हूं और कुछ फ़िल्टरों को आजमा रहा हूं। मैं काम करने के लिए कुछ फिल्टर प्राप्त कर सकता हूं लेकिन दूसरों ने अभी काम करने से इंकार कर दिया।कोर छवि फ़िल्टर जैसे कि CILinearGradient को काम करने के लिए आप कैसे प्राप्त करते हैं?

उदाहरण के लिए, मैं इस तरह कोड का उपयोग कर काम करने के लिए 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 इस जैसे simiar कोड का उपयोग कर काम करने के लिए नहीं मिल सकता है:

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; 

क्या क्या मैं याद कर रहा हूँ

मैं इसे आईओएस 6.0 पर परीक्षण कर रहा हूं।

उत्तर

5

यह एक आईओएस 7.

CIContext *coreImageContext = [CIContext contextWithOptions:nil]; 
CIFilter *gradientFilter = [CIFilter filterWithName:@"CILinearGradient"]; 
[gradientFilter setDefaults]; 
CIColor *startColor = [CIColor colorWithCGColor:[UIColor yellowColor].CGColor]; 
CIColor *endColor = [CIColor colorWithCGColor:[UIColor redColor].CGColor]; 
CIVector *startVector = [CIVector vectorWithX:0 Y:0]; 
CIVector *endVector = [CIVector vectorWithX:100 Y:100]; 
[gradientFilter setValue:startVector forKey:@"inputPoint0"]; 
[gradientFilter setValue:endVector forKey:@"inputPoint1"]; 
[gradientFilter setValue:startColor forKey:@"inputColor0"]; 
[gradientFilter setValue:endColor forKey:@"inputColor1"]; 
CIImage *outputImage = [gradientFilter outputImage]; 
CGImageRef cgimg = [coreImageContext createCGImage:outputImage fromRect:CGRectMake(0, 0, 100, 100)]; 
UIImage *newImage = [UIImage imageWithCGImage:cgimg]; 
self.ImgView.image = newImage; 
पर मेरे लिए काम किया
संबंधित मुद्दे

 संबंधित मुद्दे