时间:2021-05-20
本文实例为大家分享了iOS将图片裁剪成圆形的具体代码,供大家参考,具体内容如下
原图:
圆形图片裁剪效果:
裁剪成带边框的圆形图片:
核心代码:
#import <UIKit/UIKit.h>@interface UIImage (image)/** * 生成一张圆形图片 * * @param image 要裁剪的图片 * * @return 生成的圆形图片 */+ (UIImage *)imageWithClipImage:(UIImage *)image;/** * 生成一张带有边框的圆形图片 * * @param borderW 边框宽度 * @param borderColor 边框颜色 * @param image 要添加边框的图片 * * @return 生成的带有边框的圆形图片 */+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)borderColor image:(UIImage *)image;@end#import "UIImage+image.h"@implementation UIImage (image)+ (UIImage *)imageWithClipImage:(UIImage *)image{+ //1.开启跟原始图片一样大小的上下文 UIGraphicsBeginImageContextWithOptions(image.size, NO, 0); //2.设置一个圆形裁剪区域 //2.1绘制一个圆形 UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; //2.2.把圆形的路径设置成裁剪区域 [path addClip];//超过裁剪区域以外的内容都给裁剪掉 //3.把图片绘制到上下文当中(超过裁剪区域以外的内容都给裁剪掉) [image drawAtPoint:CGPointZero]; //4.从上下文当中取出图片 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); //5.关闭上下文 UIGraphicsEndImageContext(); return newImage;}+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)borderColor image:(UIImage *)image{ //1.开启一个上下文 CGSize size = CGSizeMake(image.size.width + 2 * borderW, image.size.height + 2 * borderW); UIGraphicsBeginImageContextWithOptions(size, NO, 0); //2.绘制大圆,显示出来 UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, size.width, size.height)]; [borderColor set]; [path fill]; //3.绘制一个小圆,把小圆设置成裁剪区域 UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(borderW, borderW, image.size.width, image.size.height)]; [clipPath addClip]; //4.把图片绘制到上下文当中 [image drawAtPoint:CGPointMake(borderW, borderW)]; //5.从上下文当中取出图片 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); //6.关闭上下文 UIGraphicsEndImageContext(); return newImage;}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
圆形头像在我们的日常使用的app中很常见,因为圆形的头像比较美观.使用圆形图片的方法可能有我们直接将图片裁剪成圆形再在app中使用,还有就是使用自定义View对
本文实例为大家分享了php图片裁剪函数的具体代码,供大家参考,具体内容如下/**图片裁剪工具*将指定文件裁剪成正方形*以中心为起始向四周裁剪*@param$sr
一般情况下,图片默认是长方形的,但是有时候我们需要将图片裁剪成指定的形状,比如圆形、三角形、或者六边形,以满足一些特殊的需要,现在小编就和大家分享利用PPT将图
裁剪示例:最终裁剪成的图片:其中虚线框内就是要裁剪出来的图片,最终保存成100宽的图片。代码如下:复制代码代码如下:$src_path='1.jpg';//创建
clipped()函数介绍Clipstheviewtoitsboundingrectangularframe.将View裁剪成矩形Bydefault,aview