iOS 截屏功能

UIImage的一个扩展,调用方法直接指定View生成的一个UIImage类型的对象,可以保存到相册,或者作为别用

新建一个UIImage的 Category

头文件代码

#import <UIKit/UIKit.h>

@interface UIImage (TY_Snap)

/**
 *  view截屏(快照)
 *
 *  @param view 截屏的view
 */
+ (UIImage *)snapshotWithView:(UIView *)view;

/**
 *  view截屏(快照)
 *
 *  @param view     截屏的view
 *  @param snapSize 截屏大小
 */
+ (UIImage *)snapshotWithView:(UIView *)view size:(CGSize)snapSize;

@end

.m文代码

#import "UIImage+Snap.h"

@implementation UIImage (TY_Snap)

+ (UIImage *)snapshotWithView:(UIView *)view
{
    return [self snapshotWithView:view size:view.bounds.size];
}

+ (UIImage *)snapshotWithView:(UIView *)view size:(CGSize)snapSize
{
    UIGraphicsBeginImageContextWithOptions(snapSize, NO, 0);
    [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return image;
}

@end

在VC里导入这个头文件

#import "UIImage+Snap.h"

调用方法获取对象View生成的UIImage对象

 UIImage *image = [UIImage snapshotWithView:self.view];

可以选择保存到相册

- (void)saveImageToPhotos:(UIImage*)savedImage

{
    UIImageWriteToSavedPhotosAlbum(savedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
}
- (void)image: (UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo
{
    NSString *msg = nil ;

    if(error != NULL){
    
        msg = @"保存图片失败" ;
        
    }else{
        
        msg = @"保存图片成功" ;
        
    }
    NSLog(@"%@",msg);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值