//1.加载原图 UIImage *oldImage = [UIImage imageNamed:@"girl"]; //2.开启上下文 UIGraphicsBeginImageContextWithOptions(oldImage.size, NO, 0.0); //3.取得当前的上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); //4.画圆 CGRect circleRect = CGRectMake(0, 0, oldImage.size.width, oldImage.size.height); CGContextAddEllipseInRect(ctx, circleRect); //5.裁剪(按照当前的路径形状裁剪) CGContextClip(ctx); //6.画图 [oldImage drawInRect:circleRect]; //7.取图 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); //8.结束 UIGraphicsEndImageContext(); //9.写出文件 NSData *data = UIImagePNGRepresentation(newImage); NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *realpath = [path stringByAppendingPathComponent:@"new.png"]; [data writeToFile:realpath atomically:YES]; //打印一下图片的沙盒路径 NSLog(@"%@",realpath);