新建UIImage的分类声明发方法并实现
+(UIImage *)imageWithName:(NSString *)imageName imageBorder:(CGFloat)border borderColor:(UIColor *)color{
// 设置生成切圆的 外圆环的宽度
CGFloat circleBorder = border;
UIImage *oldImage = [UIImageimageNamed:imageName];
// 新图片的尺寸
CGFloat newImageWidth = oldImage.size.width+2*circleBorder;
CGFloat newImageHeight = oldImage.size.height+2*circleBorder;
CGFloat circleW = (newImageWidth > newImageHeight) ? newImageHeight:newImageWidth;
// 开启上下文
UIGraphicsBeginImageContextWithOptions(CGSizeMake(circleW, circleW),NO, 0.0);
// 画大圆
UIBezierPath *pathBigCircle = [UIBezierPathbezierPathWithOvalInRect:CGRectMake(0,0, circleW, circleW)];
// 获取当前的上下文
CGContextRef contextRef =UIGraphicsGetCurrentContext();
// 添加到上下文
CGContextAddPath(contextRef, pathBigCircle.CGPath);
[color set];
// 渲染
CGContextFillPath(contextRef);
CGRect clip =CGRectMake(circleBorder, circleBorder, oldImage.size.width, oldImage.size.height);
// 正切与OldImage的圆
UIBezierPath *pathSmallCircle = [UIBezierPathbezierPathWithOvalInRect:clip];
// 设置裁剪区域
[pathSmallCircle addClip];
// 画图片
[oldImage drawAtPoint:CGPointMake(circleBorder, circleBorder)];
// 生成新的图片
UIImage *newImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}