iOS 屏幕截图以及保存图片到相册

#import "ViewController.h"
#import <AssetsLibrary/ALAssetsLibrary.h>


-(void)viewDidLoad {
    
    [super viewDidLoad];
    
    UIButton * btn = [UIButton buttonWithType:UIButtonTypeContactAdd];
    
    btn.frame =CGRectMake(30, 30, 30, 30);
    
    [self.view addSubview:btn];
    
    [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    
    NSLog(@"%@", NSHomeDirectory());
    
}


-(void)btnClick:(UIButton *)sender

{
    [self savePhoto];
    
}

// 保存图片到相册功能,ALAssetsLibraryiOS9.0 以后用photoliabary 替代,

-(void)savePhoto

{
    
    UIImage * image = [self captureImageFromView:self.view];
    
    ALAssetsLibrary * library = [ALAssetsLibrary new];
    
    NSData * data = UIImageJPEGRepresentation(image, 1.0);
    
    [library writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:nil];
    
}

//截图功能

-(UIImage *)captureImageFromView:(UIView *)view

{
    
    CGRect screenRect = [view bounds];
    
    UIGraphicsBeginImageContext(screenRect.size);
    
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    [view.layer renderInContext:ctx];
    
    UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
    
    return image;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容