CRPixellatedView-用CIPixellate滤镜动态渲染UIView
https://github.com/chroman/CRPixellatedView
本人测试的效果:
Usage
To use CRPixellatedView, create a CRPixellatedView
, configure and animate!
要使用CRPixellatedView的话,创建一个CRPixellatedView
,配置以及做动画!
An example of making a CRPixellatedView:
以下是一个使用CRPixellatedView的例子:
CRPixellatedView *pixellatedView = [[CRPixellatedView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)]; pixellatedView.image = [UIImage imageNamed:@"Image"]; [self.view addSubview:pixellatedView]; // Add to your view [pixellatedView animate];
You can configure this settings, customizable example:
以下是配置设置,自定义的例子:
CRPixellatedView *pixellatedView = [[CRPixellatedView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)]; pixellatedView.image = [UIImage imageNamed:@"Image"]; pixellatedView.pixelScale = 20.0f; pixellatedView.animationDuration = 0.8f; [self.view addSubview:pixellatedView]; // Add to your view [pixellatedView animateWithCompletion:^(BOOL finished) { NSLog(@"completed"); }];
Also, you can customize the animation effect using the reverse
property:
以下是你使用反转效果的例子:
CRPixellatedView *pixellatedView = [[CRPixellatedView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)]; pixellatedView.image = [UIImage imageNamed:@"Image"]; pixellatedView.pixelScale = 20.0f; pixellatedView.animationDuration = 0.8f; pixellatedView.reverse = YES; // Reverse effect [self.view addSubview:pixellatedView]; // Add to your view [pixellatedView animateWithCompletion:^(BOOL finished) { NSLog(@"completed"); }];
Examples
pixellatedView.reverse = YES; // Reverse effect
pixellatedView.reverse = NO; // (default) pixellatedView.pixelScale = 30.0f;
核心的地方:
使用了3个CoreImage的滤镜用来重绘View:)