76-圆形裁剪(指定图片裁剪为圆形),添加UIImage分类,两个类方法,实现圆形裁剪
来源:互联网 发布:lodash 知乎 编辑:程序博客网 时间:2024/05/20 11:47
// UIImage+cilcleImage.m
// 圆形裁剪,常用于设置头像
#import "UIImage+cilcleImage.h"
//给UIImage添加分类,两个类方法,实现圆形裁剪
@implementation UIImage (cilcleImage)
/**
* 头像圆形裁剪(周围带圆环)
*
* @param borderWidth 圆环宽度
* @param borderColor 圆环颜色
* @param image 想要裁剪的图片
*
* @return 裁剪完成的图片
*/
+(UIImage *) cilcleImageWithCilcleBorderWidth:(CGFloat) borderWidth borderColor:(UIColor *) borderColor image:(UIImage *)image
{
//UIImage *image=[UIImage imageNamed:@"阿狸头像"];
//设置大圆的rect
CGFloat w=image.size.width+2 *borderWidth;
CGFloat h=image.size.width+2 *borderWidth;
CGRect bigCirCleRect=CGRectMake(0, 0, w, h);
//1.开启上下文
UIGraphicsBeginImageContextWithOptions(bigCirCleRect.size, NO, 0);
//2.拼接路径
//2.1 绘制大圆
UIBezierPath *bigpath=[UIBezierPath bezierPathWithOvalInRect:bigCirCleRect];
//设置圆环颜色
[borderColor set];
//填充圆环
[bigpath fill];
//2.2 设置裁剪区域
CGRect clipRect=CGRectMake(borderWidth, borderWidth, image.size.width, image.size.height);
//2.3 描述裁剪区域路径
UIBezierPath *clipPath=[UIBezierPath bezierPathWithOvalInRect:clipRect];
//根据裁剪路径裁剪
[clipPath addClip];
//3.绘制图片
[image drawAtPoint:CGPointMake(borderWidth, borderWidth)];
//4.获取图片
image=UIGraphicsGetImageFromCurrentImageContext();
//5.关闭上下文
UIGraphicsEndImageContext();
return image;
}
/**
* 普通头像圆形裁剪
*
* @param image 想要裁剪的图片
*
* @return 裁剪完成的图片
*/
+(UIImage *) circleImage:(UIImage *)image
{
//0.加载图片
//UIImage *img=[UIImage imageNamed:@"阿狸头像"];
//1.开启位图上下文
UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
//2.设置裁剪区域(图片大小)
//默认只会影响到后面的东西,会把超出裁剪区域的范围裁剪掉
CGRect circeRect=CGRectMake(0, 0, image.size.width, image.size.height);
//3.描述圆形路径
UIBezierPath *path=[UIBezierPath bezierPathWithOvalInRect:circeRect];
//4.根据圆形路径裁剪路径
[path addClip];
//5.绘制图片
[image drawAtPoint:CGPointZero];
//6.获取图片(把当前上下文转换成图片)
image=UIGraphicsGetImageFromCurrentImageContext();
//7.关闭上下文
UIGraphicsEndImageContext();
return image;
}
@end
0 0
- 76-圆形裁剪(指定图片裁剪为圆形),添加UIImage分类,两个类方法,实现圆形裁剪
- Android裁剪图片为圆形
- Android裁剪图片为圆形
- 裁剪头像为圆形
- 裁剪圆形图片
- 如何裁剪圆形图片
- gdi+ 裁剪圆形图片
- 裁剪圆形图片
- 裁剪圆形图片
- Android裁剪图片为圆形图片
- Android裁剪图片为圆形图片
- Android裁剪图片为圆形图片
- Android裁剪图片为圆形图片
- Android裁剪图片为圆形图片
- Android裁剪图片为圆形图片
- Android裁剪图片为圆形图片
- Android 裁剪图片为圆形图片
- Quartz2D-将图片裁剪为圆形
- 【将金令】1.22晚间操作建议:QE数据激发避险情绪
- 机器学习常见算法分类汇总
- hdoj1035
- 递归文件夹并树形打印
- tomcat 使用log4j进行日志分割
- 76-圆形裁剪(指定图片裁剪为圆形),添加UIImage分类,两个类方法,实现圆形裁剪
- wpa_cli调试工具的使用
- 函数中省略号的意义和用法
- 迟到的规划——我在2015年的5个目标
- NYOJ 题目2括号配对问题
- 77-图片水印 (给图片添加自定义水印)
- mybatis3中在mapper接口方法中如何使用多参
- GLWallpaperService分析一
- 常见SQL细节