iOS截屏 (可以指定区域大小) 并保存相册

截图
- (void)saveToPhone:(id)sender{
    UIGraphicsBeginImageContext(_qrView.bgView.bounds.size);
    [_qrView.bgView.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image= UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
   UIImageView *imaView = [[UIImageView alloc] initWithImage:image];
    imaView.frame = _qrView.frame;
    //保存到相册
    UIImageWriteToSavedPhotosAlbum(image, self, @selector(imageSavedToPhotosAlbum:didFinishSavingWithError:contextInfo:), nil);
}


- (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
    NSString *message = nil;
    if (!error) {
        message = @"成功保存到相册";
    }else
    {
        message = [error description];
     }
}

这样保存的图片严重发虚,找到解决方法:
    那么首先去搜索下 在你的代码里面有没有遇到 
    用 UIGraphicsBeginImageContext(<#CGSize size#>) 这个方法。
    如果有那么 截屏的图片肯定是模糊的,因为在iOS7 的分辨率 会改为另外一种代替的方法
    就是它 
    UIGraphicsBeginImageContextWithOptions(<#CGSize size#>, <#BOOL opaque#>, <#CGFloat scale#>)

瞬间图片变清晰了~~

附上多个截屏方法,是否有用待以后求证:http://www.cnblogs.com/pengyingh/articles/2466955.html


转载于:https://my.oschina.net/yup/blog/657841

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值