ios图片模糊效果

//实现图片模糊效果

    UIImage *image=[UIImage imageNamed:@"mypicture.jpg"];

    //CIImage

    CIImage *ciImage=[[CIImage alloc]initWithImage:image];

    //CIFilter

    CIFilter *blurFilter=[CIFilter filterWithName:@"CIGaussianBlur"];

    NSLog(@"%@",[blurFilter attributes]);

    //将图片输入到滤镜中

    [blurFilter setValue:ciImage forKey:kCIInputImageKey];

    //设置模糊程度

    [blurFilter setValue:@(5) forKey:@"inputRadius"];

    //将处理完的图片输出

    CIImage *outCiImage=[blurFilter valueForKey:kCIOutputImageKey];

    //CIContext

    CIContext *context=[CIContext contextWithOptions:nil];

    //获取CGImage句柄

    CGImageRef outCGImage=[context createCGImage:outCiImage fromRect:[outCiImage extent]];

    //最终获取到图片

    UIImage *blurImage=[UIImage imageWithCGImage:outCGImage];

    //释放CGImage句柄

    CGImageRelease(outCGImage);

    //初始化UIImageView

    UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 510/2.f, 765/2.f)];

    imageView.image=blurImage;

    imageView.center=self.view.center;

    [self.view addSubview:imageView];




//实现毛玻璃效果(IOS8)

    //创建模糊view

    UIVisualEffectView *effectView=[[UIVisualEffectView alloc]initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight]];

    //设定尺寸

    effectView.frame=CGRectMake(0, 100, 320, 50);

    //添加到view

    [self.view addSubview:effectView];

    //添加显示文本

    UILabel *label=[[UILabel alloc]initWithFrame:effectView.bounds];

    label.text=@"Don't Touch me!";

    //label.textColor=[UIColor blackColor];

    label.font=[UIFont systemFontOfSize:20.0f];

    label.textAlignment=NSTextAlignmentCenter;

    /*添加模糊子viewUIVisualEffectView*/

    UIVisualEffectView *subEffectView=[[UIVisualEffectView alloc]initWithEffect:[UIVibrancyEffect effectForBlurEffect:(UIBlurEffect *)effectView.effect]];

    //设定尺寸

    subEffectView.frame=effectView.bounds;

    //将子模糊view添加到effectViewcontentView才能够生效

    [effectView.contentView addSubview:subEffectView];

    //添加要显示的view来达到特殊的效果

    [subEffectView.contentView addSubview:label];




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值