制作一个带有边框的图片
- (void)viewDidLoad {
[super viewDidLoad];
// 制作一个带有边框的图片
// 获取图片
UIImage *image = [UIImage imageNamed:@"timg.jpg"];
CGFloat margin = 10;
CGFloat imageW = image.size.width;
CGFloat imageH = image.size.height;
CGFloat bitmapW = imageW + margin;
CGFloat bitmapH = imageH + margin;
// 创建bitmap上下文:该bitmap上下文要比图片的尺寸稍大点
UIGraphicsBeginImageContextWithOptions(CGSizeMake(bitmapW, bitmapW), NO, 0);
// 在bitmap中先绘制一个大圆,设置颜色
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGFloat bigCircleX = bitmapW / 2.0;
CGFloat bigCircleY = bitmapH / 2.0;
CGFloat bigRadius = bitmapW / 2.0;
CGContextAddArc(ctx, bigCircleX, bigCircleY, bigRadius, 0, 2 * M_PI, 0);
[[UIColor whiteColor] set];
CGContextFillPath(ctx);
// 然后在bitmap绘制一个和图片一样尺寸的圆,将这个小圆指定为可用范围
CGFloat smallCircleX = bigCircleX;
CGFloat smallCircleY = bigCircleY;
CGFloat smallRadius = imageW / 2.0;
CGContextAddArc(ctx, smallCircleX, smallCircleY, smallRadius, 0, 2 * M_PI, 0);
CGContextClip(ctx); //指定可用范围
CGContextStrokePath(ctx);
// 绘制图片
CGFloat imageX = margin / 2.0;
CGFloat imageY = margin / 2.0;
[image drawAtPoint:CGPointMake(imageX, imageY)];
// 获取图片
UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();
self.imageView.image = clipImage;
// 将图片写在文件中
// 注意:指定可用范围,可用范围的作用是在指定之后才起作用,也就是说在指定可用范围之前绘制的图形不受影响
}
转载请注明原文地址: https://ju.6miu.com/read-671035.html