iOS如何将图片裁剪成圆形
本文实例为大家分享了iOS将图片裁剪成圆形的具体代码,供大家参考,具体内容如下
原图:
圆形图片裁剪效果:
裁剪成带边框的圆形图片:
核心代码:
#import@interfaceUIImage(image) /** *生成一张圆形图片 * *@paramimage要裁剪的图片 * *@return生成的圆形图片 */ +(UIImage*)imageWithClipImage:(UIImage*)image; /** *生成一张带有边框的圆形图片 * *@paramborderW边框宽度 *@paramborderColor边框颜色 *@paramimage要添加边框的图片 * *@return生成的带有边框的圆形图片 */ +(UIImage*)imageWithBorder:(CGFloat)borderWcolor:(UIColor*)borderColorimage:(UIImage*)image; @end
#import"UIImage+image.h"
@implementationUIImage(image)
+(UIImage*)imageWithClipImage:(UIImage*)image{
+
//1.开启跟原始图片一样大小的上下文
UIGraphicsBeginImageContextWithOptions(image.size,NO,0);
//2.设置一个圆形裁剪区域
//2.1绘制一个圆形
UIBezierPath*path=[UIBezierPathbezierPathWithOvalInRect:CGRectMake(0,0,image.size.width,image.size.height)];
//2.2.把圆形的路径设置成裁剪区域
[pathaddClip];//超过裁剪区域以外的内容都给裁剪掉
//3.把图片绘制到上下文当中(超过裁剪区域以外的内容都给裁剪掉)
[imagedrawAtPoint:CGPointZero];
//4.从上下文当中取出图片
UIImage*newImage=UIGraphicsGetImageFromCurrentImageContext();
//5.关闭上下文
UIGraphicsEndImageContext();
returnnewImage;
}
+(UIImage*)imageWithBorder:(CGFloat)borderWcolor:(UIColor*)borderColorimage:(UIImage*)image{
//1.开启一个上下文
CGSizesize=CGSizeMake(image.size.width+2*borderW,image.size.height+2*borderW);
UIGraphicsBeginImageContextWithOptions(size,NO,0);
//2.绘制大圆,显示出来
UIBezierPath*path=[UIBezierPathbezierPathWithOvalInRect:CGRectMake(0,0,size.width,size.height)];
[borderColorset];
[pathfill];
//3.绘制一个小圆,把小圆设置成裁剪区域
UIBezierPath*clipPath=[UIBezierPathbezierPathWithOvalInRect:CGRectMake(borderW,borderW,image.size.width,image.size.height)];
[clipPathaddClip];
//4.把图片绘制到上下文当中
[imagedrawAtPoint:CGPointMake(borderW,borderW)];
//5.从上下文当中取出图片
UIImage*newImage=UIGraphicsGetImageFromCurrentImageContext();
//6.关闭上下文
UIGraphicsEndImageContext();
returnnewImage;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。