关于iOS截屏和保存图片

 

1.设置中空外圈半透明的遮罩View;

将View设置成透明的背景色然后设置View的layer的宽度及颜色透明度(用RGB)

2.将图片放在View的后面,可通过添加平移和缩放的手势来操作图片(注意手势要添加在View上对ImageView进行操作)

3.截屏代码

   //这里截取的是整个屏幕

    UIGraphicsBeginImageContext(CGSizeMake(k_width, k_height));
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
 
  //通过设置Rect 从全屏的image上截取自己所需要的那一半部分
    CGRect captureRect = CGRectMake(50,50,200,200);
    CGImageRef sourceImageRef = [image CGImage];
    CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, captureRect);
    UIImage *newImage = [UIImage imageWithCGImage:newImageRef];

    newImage就是我们所需要的那一部分


4.保存图片

    NSData *imageData = UIImageJPEGRepresentation(newImage, 1);
    就是image转换成Data然后保存到沙盒中

    这里是将图片保存到相册
    UIGraphicsBeginImageContext(self.captureImv.bounds.size);
    [self.captureImv.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *temp = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(temp, nil, nil, nil);

 

   代码链接http://code.cocoachina.com/view/130942

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值