裁剪圖片並保存到相冊中

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];

相關文章
相關標籤/搜索