1.加載要裁剪的圖片atom
2.開啓一個和圖片同樣大小的圖像上下文(bitmap 圖片類型的上下文)spa
UIGraphicsBeginImageContextWithOptions(ctxSize, NO, 0.0);orm
3.獲取剛剛開啓的圖像上下文圖片
CGContextRef ctx = UIGraphicsGetCurrentContext();ip
4.建立一個圓形路徑get
UIBezierPath * path1 = [UIBezierPath bezierPathWithArcCenter:centerP radius:radius startAngle:0 endAngle:2 * M_PI clockwise:YES];string
5.把路徑添加到圖像上下文中it
CGContextAddPath(ctx, path1.CGPath);io
6.執行裁剪ast
CGContextClip(ctx);
6.1把圖片繪製到圖像上下文中
[image drawAtPoint:CGPointMake(margin, margin)];
7.從圖像上下文中獲取圖片
UIImage * getImage = UIGraphicsGetImageFromCurrentImageContext();
8.關閉圖形上下文
UIGraphicsEndImageContext();
9.顯示圖片
self.imageView.image = getImage;
10.保存相冊
UIImageWriteToSavedPhotosAlbum(getImage, self, @selector(image:didFinishSavingWithError:contextInfo:), @"hello word");
//寫入相冊必定實現該方法
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
{
// NSLog(@"保存成功 %@",contextInfo);
}
11.保存到沙盒中
NSString * docuStr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
//拼接文件名
NSString * fileName = [docuStr stringByAppendingPathComponent:@"001.png"];
//把圖片轉化爲NSData類型
NSData * imageData = UIImagePNGRepresentation(getImage);
[imageData writeToFile:fileName atomically:YES];