天天看点

iOS image-图片设置圆角

iOS image-图片设置圆角实质上是重绘图片 

此代码用于实现UIImage圆角,而不是UIImageView圆角,UIImageView圆角可以直接通过如下实现 imageView.layer.cornerRadius = radius; imageView.layer.masksToBounds = YES;

//方法1

- (UIImage *)imageWithRoundedCornersSize:(

float

)cornerRadius usingImage:(UIImage *)original

{

CGRect frame = CGRectMake(0, 0, original.size.width, original.size.height);

// Begin a new image that will be the new image with the rounded corners

// (here with the size of an UIImageView)

UIGraphicsBeginImageContextWithOptions(original.size, NO, 1.0);

// Add a clip before drawing anything, in the shape of an rounded rect

[[UIBezierPath bezierPathWithRoundedRect:frame

cornerRadius:cornerRadius] addClip];

// Draw your image

[original drawInRect:frame];

// Retrieve and return the new image

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return

image;

}

//方法2

-(UIImage *)makeRoundedImage:(UIImage *) image

radius: (

float

) radius;

{

CALayer *imageLayer = [CALayer layer];

imageLayer.frame = CGRectMake(0, 0, image.size.width, image.size.height);

imageLayer.contents = (id) image.CGImage;

imageLayer.masksToBounds = YES;

imageLayer.cornerRadius = radius;

UIGraphicsBeginImageContext(image.size);

[imageLayer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *roundedImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return

roundedImage;

}