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就是我们所需要的那一部分
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