//使用NSUserDefaults对UIImage数据进行保存
1.对JPEG图片进行保存
UIKIT_EXTERN NSData *UIImageJPEGRepresentation(UIImage *p_w_picpath, CGFloat compressionQuality);
2.对PNG图片进行保存
UIKIT_EXTERN NSData *UIImagePNGRepresentation(UIImage *p_w_picpath);  
//保存(这里保存图片主要是为了后续直接拿来用,使用GPUImage对图片进行模糊时,是一件即费时间,又费CPU的事情)
[[NSUserDefaults standardUserDefaults] setValue:p_w_picpathData forKey:@"p_w_picpath"];
[[NSUserDefaults standardUserDefaults] synchronize];



#import "ViewController.h"
#import 

@interface ViewController ()
{
    GPUImageiOSBlurFilter * _blurFilter;
    UIImageView * p_w_picpathView;
}
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    p_w_picpathView = [[UIImageView alloc]initWithFrame:self.view.bounds];
    
    p_w_picpathView.p_w_picpath = [UIImage p_w_picpathNamed:@"IMG_0311.JPG"];
    
    [self.view addSubview:p_w_picpathView];
    
    _blurFilter = [[GPUImageiOSBlurFilter alloc]init];
    
    _blurFilter.blurRadiusInPixels = 4.0;
    
    [self performScreenshotAndBlur];
}

-(void) performScreenshotAndBlur
{
    UIImage * p_w_picpath = [self convertViewToImage];
    
    UIImage *blurredSnapshotImage = [_blurFilter p_w_picpathByFilteringImage:p_w_picpath];
    
    [p_w_picpathView setImage:blurredSnapshotImage];
    p_w_picpathView.alpha = 1.0;
    
    [self.view addSubview:p_w_picpathView];
}

-(UIImage *)convertViewToImage
{
    UIGraphicsBeginImageContext(self.view.bounds.size);     //currentView 当前的view  创建一个基于位图的图形上下文并指定大小为
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];//renderInContext呈现接受者及其子范围到指定的上下文
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();//返回一个基于当前图形上下文的图片
    UIGraphicsEndImageContext();//移除栈顶的基于当前位图的图形上下文
    
    NSLog(@"%@",NSStringFromCGSize(viewImage.size));
    //UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);//然后将该图片保存到图片图
    return viewImage;
}