iOS实现毛玻璃效果(无需要第三方)

时间:2021-09-19 14:54:59

本文实例分享两种ios毛玻璃效果设置的方法,不需要任何第三方,先看效果:

原图:

iOS实现毛玻璃效果(无需要第三方)

方法一(ios8系统方法):

iOS实现毛玻璃效果(无需要第三方)

方法二:

iOS实现毛玻璃效果(无需要第三方)

下面是示例代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#import "viewcontroller.h"
 
@interface viewcontroller ()
{
 uiimageview *_imageview;
}
@end
 
@implementation viewcontroller
 
- (void)viewdidload {
 [super viewdidload];
 _imageview = [[uiimageview alloc]initwithframe:self.view.bounds];
 _imageview.image = [uiimage imagenamed:@"1.jpg"];
 [self.view addsubview:_imageview];
 
 //方法一:系统方法,ios8及以上可用
 if (!uiaccessibilityisreducetransparencyenabled()) {
 uiblureffect *blureffect = [uiblureffect effectwithstyle:uiblureffectstyledark];
 uivisualeffectview *blureffectview = [[uivisualeffectview alloc]initwitheffect:blureffect];
 blureffectview.frame = _imageview.bounds;
 [_imageview addsubview:blureffectview];
 }
 
 
 //方法二:core image
 uiimageview *blurimageview = [[uiimageview alloc]initwithframe:_imageview.bounds];
 blurimageview.image = [self blur:[uiimage imagenamed:@"1.jpg"]];
 [_imageview addsubview:blurimageview];
}
 
//生成一张毛玻璃图片
- (uiimage*)blur:(uiimage*)theimage
{
 cicontext *context = [cicontext contextwithoptions:nil];
 ciimage *inputimage = [ciimage imagewithcgimage:theimage.cgimage];
 
 cifilter *filter = [cifilter filterwithname:@"cigaussianblur"];
 [filter setvalue:inputimage forkey:kciinputimagekey];
 [filter setvalue:[nsnumber numberwithfloat:15.0f] forkey:@"inputradius"];
 ciimage *result = [filter valueforkey:kcioutputimagekey];
 
 cgimageref cgimage = [context createcgimage:result fromrect:[inputimage extent]];
 
 uiimage *returnimage = [uiimage imagewithcgimage:cgimage];
 cgimagerelease(cgimage);
 return returnimage;
}
 
- (void)didreceivememorywarning {
 [super didreceivememorywarning];
 // dispose of any resources that can be recreated.
}
 
@end

具体效果和参数自行研究吧!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/yibaozhifu/article/details/50850844