图片圆角处理封装有两种方式:
1:在Layer层上做处理。(缺点:一个页面出现多个需要裁剪的图片时,程序会很卡顿)
self.profileImageView.layer.cornerRadius = self.profileImageView.width * 0.5;
self.profileImageView.clipsToBounds = YES;
2:对UIImage进行封装处理。(调用方便,不会造成程序的卡顿)
创建UIImage的扩展类。
UIImage+LMExtension.h文件中
#import <UIKit/UIKit.h>
@interface UIImage (LMExtension)
/** 返回圆形图片*/
-(UIImage *)circleImage;
@end
UIImage+LMExtension.m文件中
// Created by limin on 16/7/5.
// Copyright © 2016年 limin. All rights reserved.
//cocos2d 。开启图形上下文(透明)
#import "UIImage+LMExtension.h"
@implementation UIImage (LMExtension)
/** 返回圆形图片*/
-(UIImage *)circleImage
{
//NO:透明
UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);
//获得上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
//添加一个圆
CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
CGContextAddEllipseInRect(ctx, rect);
//裁剪
CGContextClip(ctx);
//将图片画上去
[self drawInRect:rect];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
@end