Skip to content

Instantly share code, notes, and snippets.

@skwashua
Created December 10, 2013 08:06
Show Gist options
  • Save skwashua/7887167 to your computer and use it in GitHub Desktop.
Save skwashua/7887167 to your computer and use it in GitHub Desktop.
CoreImage GaussianBlur
+(UIImage *)blurImage:(UIImage *)image withStrength:(float)strength
{
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [[CIImage alloc] initWithCGImage:image.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
[filter setValue:inputImage forKey:@"inputImage"];
[filter setValue:[NSNumber numberWithFloat:strength] forKey:@"inputRadius"];
CIImage *result = [filter valueForKey:kCIOutputImageKey];
float scale = [[UIScreen mainScreen] scale];
CIImage *cropped=[result imageByCroppingToRect:CGRectMake(0, 0, image.size.width*scale, image.size.height*scale)];
CGRect extent = [cropped extent];
CGImageRef cgImage = [context createCGImage:cropped fromRect:extent];
return [UIImage imageWithCGImage:cgImage];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment