ios 裁剪圆形头像_IOS_iOS如何裁剪圆形头像,本文实例为大家介绍了iOS裁剪 - phpStudy...
iOS如何裁剪圆形头像
本文实例为大家介绍了iOS裁剪圆形头像的详细代码,供大家参考,具体内容如下
- (void)viewDidLoad {
[super viewDidLoad];
//加载图片
UIImage *image = [UIImage imageNamed:@"菲哥"];
//获取图片尺寸
CGSize size = image.size;
//开启位图上下文
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
//创建圆形路径
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
//设置为裁剪区域
[path addClip];
//绘制图片
[image drawAtPoint:CGPointZero];
//获取裁剪后的图片
_imageView.image = UIGraphicsGetImageFromCurrentImageContext();
//关闭上下文
UIGraphicsEndImageContext();
}
再来一张菲哥的头像
如果想要在圆形头像外加一个边框,思路是先绘制一个大圆,然后在这个圆尺寸范围内绘制一个图片大小的圆。
- (void)viewDidLoad {
[super viewDidLoad];
//加载图片
UIImage *image = [UIImage imageNamed:@"大菲哥"];
//设置边框宽度
CGFloat border = 3;
CGFloat imageWH = image.size.width;
//计算外圆的尺寸
CGFloat ovalWH = imageWH + 2 * border;
//开启上下文
UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
//画一个大的圆形
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)];
[[UIColor orangeColor]set];
[path fill];
//设置裁剪区域
UIBezierPath *path1 = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)];
[path1 addClip];
//绘制图片
[image drawAtPoint:CGPointMake(border, border)];
//从上下文中获取图片
_imageView.image = UIGraphicsGetImageFromCurrentImageContext();
//关闭上下文
UIGraphicsEndImageContext();
}
效果如图:
屏幕截图代码:
原理就是把屏幕上控件的layer渲染到上下文中
- (void)viewDidLoad {
[super viewDidLoad];
//开启上下文
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0);
//获取上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
//把控件上的图层渲染到上下文
[self.view.layer renderInContext:ctx];
//获取上下文中的图片
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
//关闭上下文
UIGraphicsEndImageContext();
//保存图片到相册
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}
以上就是本文的全部内容,希望对大家的学习有所帮助。相关阅读:
详解javascript中原始数据类型Null和Undefined
css3发光搜索表单分享
asp.net中如何批量导出access某表内容到word文档
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
C#时间格式化(Datetime)用法详解
SQL实现递归及存储过程中In()参数传递解决方案详解
免费升级win10后需要激活吗?win10激活需要收费吗?
微信开发中mysql字符编码问题
html5实现多文件的上传示例代码
简单了解CentOS的开机启动过程以及设置启动时间
Android判断用户2G/3G/4G移动数据网络
Java中一个线程执行死循环有什么后果
ASP.NET对txt文件相关操作(读取、写入、保存)
Windows7系统打开word文档提示当前用户没有安装Microsoft Office的原因及解决方法
ios 裁剪圆形头像_IOS_iOS如何裁剪圆形头像,本文实例为大家介绍了iOS裁剪 - phpStudy...相关推荐
- android qq 圆形头像,Android仿QQ圆形头像个性名片
先看看效果图: 中间的圆形头像和光环波形讲解请看:https://www.jb51.net/article/96508.htm 周围的气泡布局,因为布局RatioLayout是继承自ViewGroup ...
- 怎么做圆形二维码_圆形吊顶怎么做?装修网盘点圆形吊顶安装注意事项
天津装修网小编今天要来和大家聊的就是圆形吊顶,那大家知道圆形吊顶怎么做吗?如果不知道的话,大家就快来看看天津装修网小编今天的分享吧! 一.圆形吊顶怎么做 1.主要需求的准备工作是编制建筑材料.必须准备 ...
- 圆形标定板_基于圆形标定板特征点提取及排序的方法
基于圆形标定板特征点提取及排序的方法 刘智 [摘 要] 摘要:在计算机视觉中 , 圆形标定板被广泛使用在像机标定中 , 本文针 对圆形标定板图像 ( 图 1) 在特征点提取后的排序问题 , 提出了利用 ...
- 关于QQ群头像以及微信讨论组头像的工具类
QQ群头像以及微信讨论组头像工具类介绍 介绍: 由于段时间公司项目需求,在翻了网上很多代码后发现,很多人用的是自定义View的办法来实现此类头像的效果,但是,这样一来就必须改变项目中原有的控件,而且 ...
- php头像上传思路,PHP头像上传,php头像上传_PHP教程
PHP 头像上传,php头像上传 嘻嘻,自从圣诞节过后,就一直懒散,这几天也因为是太过于繁忙的原因,感觉好久都没有出来冒冒泡,诶... 为了生活一直在奋斗,作为一名前端开发工程师,我现在越来越迷茫了, ...
- php使用自定义alert,IOS_iOS自定义alertView提示框实例分享,本文实例为大家分享iOS自定义a - phpStudy...
iOS自定义alertView提示框实例分享 本文实例为大家分享iOS自定义alertView提示框,先上图,弹框的背景色,按钮背景色,提示的消息的字体颜色都可以改变 利用单例实现丰富的自定义接口 / ...
- foobar2000隐藏桌面悬浮窗头像_多多情侣头像大全app-多多情侣头像大全软件v1.0.1...
多多情侣头像大全app,为小伙伴提供更有意思的情侣头像,涵盖更多的头像资源,提供卡通,萌宠,真人,明星等等头像资源,带给小伙伴更多的情头选择,帮助小伙伴选出最喜欢的情侣,满足小伙伴对于情头的需求,一键 ...
- 详细介绍CISCO IOS命名规则
首先说说IOS的运行平台,c2500.c2600.c4500.c2950代表运行此IOS的硬件平台,例如:C2500指2500系列路由器.% y( h* g1 F* ^1 g; c 其次,看看IOS的 ...
- 自动生成带昵称的头像(仿照钉钉头像)
很多场合都会出现默认头像,比如刚注册的账户还未自定义头像,显示就是默认头像,这种头像一般都很丑,想到钉钉那种风格还挺特别的,仿照写一个. 废话不多说,直接上代码. import java.awt.*; ...
最新文章
- 马斯克脑洞破解谁是“中本聪”?
- java 服务端客户端数据传输出现乱码
- VTK:可视化之RenderTranslucentGeometry
- 【MySQL】查看MySQL配置文件路径及相关配置
- java bitset_Java BitSet length()方法与示例
- 优秀案例|App内弹窗界面设计灵感
- ipad无法充电怎么办_哈尔滨Ipad死机了维修费用价目表_京宏通讯器材维修培训学校...
- Mysql8完全卸载教程
- 成功真正需要什么:情商德商及体商 别高估智商
- Python字符串格式化
- ArrayList,LinkedList,Vector三者的异同
- 2020年中山大学CS夏令营
- 微信小程序全选,微信小程序checkbox,微信小程序购物车
- 云速美建站手机端使用百度app打开手机端网站闪退的问题
- SAP MM寄售采购业务
- linux上最好的p图软件,10款好用的手机P图软件排行榜
- java格式化金额千位数,java金额格式化解决思路
- Java本地高性能缓存的几种实现方式
- H5 连接蓝牙打印机,打印条码、二维码
- 我该如何在30天后找到一份数据挖掘相关工作