您的位置:首页 > 其它

CIFilter (模糊图片)

2016-02-21 18:47 218 查看
//使用模糊图片

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

UIImage *image = [UIImage imageNamed:@"qiaodan"];

//coreImage

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

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

//设置模糊程度

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

//查询滤镜设置参数的信息

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

//将图片输入到滤镜中

[blurFilter setValue:ciImage forKey:kCIInputImageKey];

//将处理好的图片输出

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 *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 640/2.f, 640/2.f)];

imageView.image = blurImage;

imageView.center = self.view.center;

[self.view addSubview:imageView];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: