您的位置:首页 > 产品设计 > UI/UE

如何高性能的给UIImageView加个圆角?(不准说layer.cornerRadius!)

2017-02-07 13:15 507 查看
利用UIBezierPath这个类绘制圆形图片,如下:

- (UIImage*)drawImageWithSize:(CGSize)size imageName:(NSString *)imageName

{

   
// 申请一块特定大小的画布

    UIGraphicsBeginImageContext(size);

   
// 画出一个与画布等大的圆

    UIBezierPath *path = [UIBezierPath
bezierPathWithOvalInRect:CGRectMake(0,
0, size.width, size.height)];

   
// 将这个圆以外的部分设置为无效区

    [path addClip];

    

    UIImage *oldImage = [UIImage
imageNamed:imageName];

    [oldImage drawInRect:CGRectMake(0,
0, size.width, size.height)];

    

    UIImage *newImage =
UIGraphicsGetImageFromCurrentImageContext();

    

    UIGraphicsEndImageContext();

    

    return newImage;

}

imageView.image =
newImage;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: