CoreImage
CPU处理方式 http://blog.csdn.net/xoxo_x/article/details/53518322
打印滤镜:
NSArray *filterNames = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
NSLog(@"Built in filters");
for (NSString *currentFilterName in filterNames)
{
NSLog(@"%@", currentFilterName);
}
处理之前的图片
- (UIImage *)imageProcessedUsingCoreImage:(UIImage *)imageToProcess;
{
CFAbsoluteTime elapsedTime, startTime = CFAbsoluteTimeGetCurrent();
CIImage *inputImage = [[CIImage alloc] initWithCGImage:imageToProcess.CGImage];
CIFilter *sepiaTone = [CIFilter filterWithName:@"CISepiaTone"
keysAndValues: kCIInputImageKey, inputImage,
@"inputIntensity", [NSNumber numberWithFloat:1.0], nil];
CIImage *result = [sepiaTone outputImage];
CGImageRef resultRef = [coreImageContext createCGImage:result fromRect:CGRectMake(0, 0, imageToProcess.size.width, imageToProcess.size.height)];
UIImage *resultImage = [UIImage imageWithCGImage:resultRef];
CGImageRelease(resultRef);
elapsedTime = CFAbsoluteTimeGetCurrent() - startTime;
processingTimeForCoreImageRoutine = elapsedTime * 1000.0;
return resultImage;
}
调用:
UIImage *inputImage = [UIImage imageNamed:@"Lambeau.jpg"];
//创建 Core Image 上下文 ,
if (coreImageContext == nil)
{
coreImageContext = [CIContext contextWithOptions:nil];
}
UIImage *imageFilteredUsingCoreImageRoutine = [self imageProcessedUsingCoreImage:inputImage];
如何保存图片到本地?
http://blog.csdn.net/xoxo_x/article/details/53517878