ios 裁剪圆形头像_iOS如何将图片裁剪成圆形
本文实例为大家分享了iOS将图片裁剪成圆形的具体代码,供大家参考,具体内容如下
原图:
圆形图片裁剪效果:
裁剪成带边框的圆形图片:
核心代码:
#import
@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;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
ios 裁剪圆形头像_iOS如何将图片裁剪成圆形相关推荐
- ios 裁剪圆形头像_iOS开发笔记:实现圆形头像
初学iOS,记录一下自己遇到的一些问题,也希望能够对别人有所帮助 一般应用的个人头像如上图,圆形头像算是每款App中最常见的东西了,刚好最近有遇到这个问题,并且顺利解决了,其实很简单,调用layer这 ...
- 用php画一个蓝底红色的圆_php把图片处理成圆形透明的头像
如果只是想给图片加一个圆角可以参考下面文章 用到的php gd库函数有 imagecolorat imagesetpixel 首先是把图片处理成圆形的: 原图如下: 处理过之后效果: 注意圆色后面的白 ...
- 中如何将方形图片转换成圆形图片_【PS】PS中不可不知的实用技巧!你都掌握了吗?...
今天给大家分享一些在PS中经常用到的实用小技巧,操作简单易上手. 01 拉伸图片人物不变形 在我们在PS里想要拉伸一些图片时,里面的人物往往会跟着一起变形,那么如何改变图片比例的同时,又不影响人物的形 ...
- 如何将方形图片磨成圆形图片
如何将方形图片磨成圆形图片 在开发中经常会有一些需求,比如显示头像,显示一些特殊的需求,将图片显示成圆角或者圆形或者其他的一些形状.但是往往我们手上的图片或者从服务器 获取到的图片都是方形的.这时候就 ...
- 微信小程序在一张canvas上把正方形图片绘制成圆形
因为最近在做分享功能,需要用户的头像在微信小程序中,然后写下其他文字,如何在把正方形图片放到canvas,导成圆角.找了两个参考资料,分别是用.clip()和.clearRect()两种方法 微信小程 ...
- 如何用photoshop将方形图片处理成圆形图片
有很多朋友在使用PPT的时候都会想要将PPT中的图片素材处理成圆形,这样看起来更美观,更大方.可是,却迟迟找不到将图片处理成圆形的方法.今天小编为大家分享如何用photoshop将方形图片处理成圆形图 ...
- 将矩形图片绘制成圆形图片
这周的安卓作业要做一个音乐播放器, 而图片那块需要添加音乐的封面, 获取到的封面为矩形图片, 如果要像网易云一样做一个唱片风格的封面需要将矩形图片绘制成圆形图片, 在StackOverflow上查找得 ...
- QLabel将方形图片显示成圆形
想把QLabel中传入的方形图片切成原型显示,尝试用样式表写圆角能完成纯背景色切成圆形显示,但是不能将图片切成圆形. 于是上网搜寻答案,找到了解决我疑惑的帖子 https://blog.csdn.ne ...
- ios 裁剪圆形头像_iOS 裁剪圆形图像并显示(类似于微信头像)
本文主要讲解如何从照片库选择一张照片后将其裁剪成圆形头像并显示,类似于微信头像那种模式. 本文的方法也适用于当时拍照获取的图像,方法类似,所以不再赘述. 本文主要是在iOS 10环境下使用,此时如果要 ...
- ios 裁剪圆形头像_iOS开发之裁剪圆形头像
- (void)viewDidLoad { [super viewDidLoad]; //加载图片 UIImage *image = [UIImage imageNamed:@"菲哥&quo ...
最新文章
- linux 自动安装 get,linux下自动获取并安装软件包 apt-get 的命令介绍
- android 阴影背景显示文字_公众号排版如何做出“果冻”文字效果?
- 如何利用百度ocr实现验证码自动识别
- 【转贴】大型ORACLE数据库优化设计方案
- Galgame研发日志:那么,怎么才能回本呢?
- 设置DataGrid自动生成列的宽度
- 341. 扁平化嵌套列表迭代器
- c通过位运算求绝对值_初中数学归类总结(四)有理数的乘除乘方及混合运算...
- 在集设网看世界顶级电影海报欣赏,太美了!
- 编辑器eslint格式_VScode格式化代码,开启ESlint代码检测方法,eslint代码配置
- C++_程序注释_以及_认识变量_输出变量_认识常量---C++语言工作笔记009
- 如何解决api接口的并发问题?
- 机器人学从理论、设计到建模仿真零基础入门教程(硬核、偏零基础)
- Python 利用GDAL对图像进行几何校正
- 2022-02-22 AndroidN之后 app代码安装apk,以及提示“There was a problem parsing the package“的解决方案
- sl4a最新版下载_SL4A Script Launcher
- iphone个系列尺寸_iPhone9只是套模iPhone8,这些才是iPhone经典款,你用过哪些?
- 从材料到芯片验证,是逃难还是人生的机遇?
- 微信小程序实现封装处理
- 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)
热门文章
- mfs java_mfs权威指南
- GSM和GPRS区别
- 另一个视角看春节红包大战,为什么说智能云是百度第二增长引擎
- android游戏地图编辑器
- mysql rpl_MySQL半同步复制rpl_semi_sync_master_timeout测试
- 笔记本通过网线给台式机分享网络
- linux reedme常用单词,【每天打卡记单词】高中英语必背单词3500(Q/R)
- 2020年9月电子学会Python等级考试试卷(二级)考题解析
- Introspective Distillation for Robust Question Answering 论文笔记
- 个人java学习路线-Spring