iOS 画圆形头像
demo下载地址:http://pan.baidu.com/s/1mgBf6YG
_logoImageView.image = [self
getEllipseImageWithImage:[UIImage
imageNamed:@"1_wsq724439564.jpg"]];
-(UIImage*)getEllipseImageWithImage:(UIImage*)originImage
{
;//圆形图像距离图像的边距
UIColor* epsBackColor = [UIColor
greenColor];//图像的背景色
CGSize originsize = originImage.size;
CGRect originRect =
CGRectMake(, , originsize.width, originsize.height);
UIGraphicsBeginImageContext(originsize);
CGContextRef ctx =
UIGraphicsGetCurrentContext();
//目标区域。
CGRect desRect =
CGRectMake(padding, padding,originsize.), originsize.));
//设置填充背景色。
CGContextSetFillColorWithColor(ctx, epsBackColor.CGColor);
UIRectFill(originRect);//真正的填充
//设置椭圆变形区域。
CGContextAddEllipseInRect(ctx,desRect);
CGContextClip(ctx);//截取椭圆区域。
[originImage drawInRect:originRect];//将图像画在目标区域。
UIImage* desImage =
UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return desImage;
}
带有边框的圆形头像。
-(UIImage*)getEllipseImageWithImage:(UIImage*)originImage
{
;//圆形图像距离图像的边距
UIColor* epsBackColor = [UIColor
greenColor];//图像的背景色
CGSize originsize = originImage.size;
CGRect originRect =
CGRectMake(, , originsize.width, originsize.height);
UIGraphicsBeginImageContext(originsize);
CGContextRef ctx =
UIGraphicsGetCurrentContext();
//目标区域。
CGRect desRect =
CGRectMake(padding, padding,originsize.), originsize.));
//设置填充背景色。
CGContextSetFillColorWithColor(ctx, epsBackColor.CGColor);
UIRectFill(originRect);//真正的填充
//设置椭圆变形区域。
CGContextAddEllipseInRect(ctx,desRect);
CGContextClip(ctx);//截取椭圆区域。
[originImage drawInRect:originRect];//将图像画在目标区域。
//
边框 //
;
CGContextSetStrokeColorWithColor(ctx, [UIColor
whiteColor].CGColor);//设置边框颜色
CGContextSetLineCap(ctx,
kCGLineCapButt);
CGContextSetLineWidth(ctx, borderWidth);//设置边框宽度。
CGContextAddEllipseInRect(ctx, desRect);//在这个框中画圆
CGContextStrokePath(ctx);
// 描边框。
//
边框 //
UIImage* desImage =
UIGraphicsGetImageFromCurrentImageContext();//
获取当前图形上下文中的图像。
UIGraphicsEndImageContext();
return desImage;
}
iOS 画圆形头像的更多相关文章
- iOS实现头像选取(照相或者图片库)、大小等比缩放、生成圆形头像
//弹出actionsheet.选择获取头像的方式 //从相册获取图片 -(void)takePictureClick:(UIButton *)sender { // /*注:使用,需要实现以下协议: ...
- UWP 画一个圆形头像
经常需要做一个圆形头像的样式,like this 做法很简单,直接上xaml. <Ellipse Width=" Height="> <Ellipse.Fill& ...
- Android 圆形头像 自己动手
圆形头像DIY 现在大部分app使用的都是圆形头像,网上开源的也很多,但是有没有考虑过DIY圆形头像呢?下面就自己实现一个,先看下demo展示 第一步:原理解释(图片很丑,原理很真) 1.画外框圆形, ...
- Android之圆形头像裁切
PS:今天项目测试组发现,百度地图定位的数据坐标位置是正确的,但是显示的数据是错误的.最后查来查去发现,那个商厦在百度地图上根本就没有那条数据,这让我如何显示,当初就推崇使用高德地图定位,上面的数据量 ...
- Android_AsyncTaskDemo之QQ记步数(画圆形图片知识)
今天学习了AsyncTask Android 的异步机制.我简单的实现我的一个小小案例--qq记步数.然后穿插一个画圆形图片的知识点. 由于所学知识有限,目前我计数,还有排名等等我就简单的利用随机数实 ...
- Android ImageView圆形头像
转载自:http://m.oschina.net/blog/321024 Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用 ...
- Android特效专辑(五)——自定义圆形头像和仿MIUI卸载动画—粒子爆炸
Android特效专辑(五)--自定义圆形头像和仿MIUI卸载动画-粒子爆炸 好的,各位亲爱的朋友,今天讲的特效还是比较炫的,首先,我们会讲一个自定义圆形的imageView,接着,我们会来实现粒子爆 ...
- Android自定义控件实例,圆形头像(图库 + 裁剪+设置),上传头像显示为圆形,附源码
Android项目开发中经常会遇见需要实现圆角或者圆形的图片功能,如果仅仅使用系统自带的ImageView控件显然无法实现此功能,所以通过系列文章的形式由简到繁全方位的介绍一下此功能的实现,巩固一下自 ...
- 【转】Android ImageView圆形头像
Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用QQ更换头像的时候,上传的图片都是矩形的,但显示的时候确是圆形的. 原理: ...
随机推荐
- ArrayList的使用方法
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和I ...
- 永远不要在MySQL中使用“utf8”
最近我遇到了一个 bug,我试着通过 Rails 在以“utf8”编码的 MariaDB 中保存一个 UTF-8 字符串,然后出现了一个离奇的错误: Incorrect string value: ‘ ...
- jQuery第四课 点击 _选项卡效果一
//鼠标移到上面是显示手型cursor:pointer jquery 的函数: siblings //兄弟节点,同胞元素 :eq()选择器选取带有指定 index 值的元素.index 值从 0 开始 ...
- 紫书 例题 10-3 UVa 10375 (唯一分解定理)
这道题感觉非常的秀 因为结果会很大,所以就质因数分解分开来算 非常的巧妙! #include<cstdio> #include<vector> #include<cstr ...
- [luogu]P4364 [九省联考2018]IIIDX
题目背景 Osu 听过没?那是Konano 最喜欢的一款音乐游戏,而他的梦想就是有一天自己也能做个独特酷炫的音乐游戏.现在,他在世界知名游戏公司KONMAI 内工作,离他的梦想也越来越近了. 这款音乐 ...
- C语言回调
来源:https://www.cnblogs.com/jiangzhaowei/p/9129105.html 1. 什么是回调函数? 回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢 ...
- solr + eclipse 调试环境搭建
1: 在官网下载对应源码 http://www.fayea.com/apache-mirror/lucene/solr/4.1.0/ 选择源码文件,如图所示: 2: 解压后目录如图所示: 在根目录下存 ...
- hadoop-08-关闭THP服务
hadoop-08-关闭THP服务 #查看THP服务cat /sys/kernel/mm/redhat_transparent_hugepage/enabledcat /sys/kernel/mm/r ...
- (六)storm-kafka源代码走读之PartitionManager
PartitionManager算是storm-kafka的核心类了,如今開始简单分析一下.还是先声明一下,metric部分这里不做分析. PartitionManager主要负责的是消息的发送.容错 ...
- Hadoop Serialization -- hadoop序列化具体解释 (2)【Text,BytesWritable,NullWritable】
回想: 回想序列化,事实上原书的结构非常清晰,我截图给出书中的章节结构: 序列化最基本的,最底层的是实现writable接口,wiritable规定读和写的游戏规则 (void write(DataO ...