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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。