// // UIImageView+LBBlurredImage.m // LBBlurredImage // // Created by Luca Bernardi on 11/11/12. // Copyright (c) 2012 Luca Bernardi. All rights reserved. // #import "UIImageView+LBBlurredImage.h" #import "UIImage+ImageEffects.h" CGFloat const kLBBlurredImageDefaultBlurRadius = 20.0; CGFloat const kLBBlurredImageDefaultSaturationDeltaFactor = 1.8; @implementation UIImageView (LBBlurredImage) #pragma mark - LBBlurredImage Additions - (void)setImageToBlur:(UIImage *)image completionBlock:(LBBlurredImageCompletionBlock)completion { [self setImageToBlur:image blurRadius:kLBBlurredImageDefaultBlurRadius completionBlock:completion]; } - (void)setImageToBlur:(UIImage *)image blurRadius:(CGFloat)blurRadius completionBlock:(LBBlurredImageCompletionBlock) completion { NSParameterAssert(image); blurRadius = (blurRadius <= 0) ? kLBBlurredImageDefaultBlurRadius : blurRadius; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ UIImage *blurredImage = [image applyBlurWithRadius:blurRadius tintColor:nil saturationDeltaFactor:kLBBlurredImageDefaultSaturationDeltaFactor maskImage:nil]; dispatch_async(dispatch_get_main_queue(), ^{ self.image = blurredImage; if (completion) { completion(); } }); }); } @end