在iOS中,高斯模糊圖片有很多方法,CoreImage和vImage等等,但是這些都是靜態(tài)模糊,也就是說對一張已有圖片的模糊,但是在日常開發(fā)中經常會遇到要對從網絡上下載的圖片進行模糊的情景,此時我們只有一個圖片的url,并沒有圖片本身,所以我們需要一種實時模糊的方法。
iOS8以上可以使用新的API實現(xiàn):
UIBlurEffect:
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blurView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
blurView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
blurView.frame = self.bounds;
[self addSubview:blurView];
UIBlurEffectStyleExtraLight 白色調
UIBlurEffectStyleLight 淺色調
UIBlurEffectStyleDark 黑色調
但是這個方法只在iOS8及以上生效,對iOS7想使用高斯模糊效果,就要用到toolBar了,因為我們平時大概也注意到在底部工具欄拉起的時候,背景圖是被高斯模糊了的
UIToolbar:
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:self.frame];
toolBar.barStyle = UIBarStyleBlack;
toolBar.translucent = YES;
[self addSubview:toolBar];