UIImage分类,设置边框
Posted 萧十一郎oo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIImage分类,设置边框相关的知识,希望对你有一定的参考价值。
#import "UIImage+image.h"
@implementation UIImage (image)
+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)color image:(NSString *)imageName {
// 增加边框 生成边框的宽度 w = image.width + 2*borderW 高度同理
UIImage *image = [UIImage imageNamed:imageName];
// 开启上下文
CGSize size = CGSizeMake(image.size.width + 2 * borderW, image.size.height + 2 * borderW);
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
// 绘制大圆,显示出来
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, size.width, size.height)];
[[UIColor redColor] set];
[path fill];
// 绘小圆
UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(borderW, borderW, image.size.width, image.size.height)];
// 设置为裁剪路径
[clipPath addClip];
// 画图
[image drawAtPoint:CGPointMake(borderW, borderW)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
@implementation UIImage (image)
+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)color image:(NSString *)imageName {
// 增加边框 生成边框的宽度 w = image.width + 2*borderW 高度同理
UIImage *image = [UIImage imageNamed:imageName];
// 开启上下文
CGSize size = CGSizeMake(image.size.width + 2 * borderW, image.size.height + 2 * borderW);
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
// 绘制大圆,显示出来
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, size.width, size.height)];
[[UIColor redColor] set];
[path fill];
// 绘小圆
UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(borderW, borderW, image.size.width, image.size.height)];
// 设置为裁剪路径
[clipPath addClip];
// 画图
[image drawAtPoint:CGPointMake(borderW, borderW)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
以上是关于UIImage分类,设置边框的主要内容,如果未能解决你的问题,请参考以下文章