关于iOS截屏和保存图片

来源:互联网 发布:牛牛数据统计器 编辑:程序博客网 时间:2024/05/11 16:55

 

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
原创粉丝点击