首页 > 其他 > 详细

CoreImage的模糊滤镜

时间:2015-08-06 14:53:16      阅读:246      评论:0      收藏:0      [点我收藏+]
    //1.原始图片
    UIImage * image = [UIImage imageNamed:@"1.jpg"];
    
    /****************core image******************/
    //a.图片
    CIImage * ciImage = [[CIImage alloc] initWithImage:image];
    //b.滤镜
    CIFilter * ciFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
    NSLog(@"%@",[ciFilter attributes]);
    //设置滤镜的模糊程度,默认是10
    [ciFilter setValue:@(10) forKey:@"inputRadius"];
    //将图片放到滤镜中
    [ciFilter setValue:ciImage forKey:kCIInputImageKey];
    //输出图片
    CIImage * outImage = [ciFilter valueForKey:kCIOutputImageKey];
    //c.获取CGImage的句柄
    CIContext * context = [CIContext contextWithOptions:nil];
    CGImageRef outCGImage = [context createCGImage:outImage fromRect:[outImage extent]];
    UIImage * blurImage = [UIImage imageWithCGImage:outCGImage];
    CGImageRelease(outCGImage);
    
    /********************************************/
    //2.初始化imageView
    UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, 320, 200)];
    imageView.image = blurImage;
    [self.view addSubview:imageView];

 

CoreImage的模糊滤镜

原文:http://www.cnblogs.com/benbenzhu/p/4707915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!