首页 > 学院 > 开发设计 > 正文

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

2019-11-09 18:02:58
字体:
来源:转载
供稿:网友

利用UIBezierPath这个类绘制圆形图片,如下:

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

{

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

    UIGraphicsBeginImageContext(size);

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

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

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

    [path addClip];

    

    UIImage *oldImage = [UIImageimageNamed:imageName];

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

    

    UIImage *newImage =UIGraphicsGetImageFromCurrentImageContext();

    

    UIGraphicsEndImageContext();

    

    return newImage;

}

imageView.image =newImage;


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表