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更换头像的时候,上传的图片都是矩形的,但显示的时候确是圆形的. 原理: ...
随机推荐
- HDU 1285 确定比赛名次【拓扑排序】
题意:中文的题目-----这道题让我终于明白了那个break的作用---因为题目中有这一句“符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前”@_@ #include<iostrea ...
- FCC高级编程之Inventory Update
Inventory Update Compare and update the inventory stored in a 2D array against a second 2D array of ...
- (转)Java 虚拟机体系结构
来源:http://hxraid.iteye.com/blog/676235 众所周知,Java源代码被编译器编译成class文件.而并不是底层操作系统可以直接执行的二进制指令(比如Windows O ...
- Centos 7 修改 ssh 端口
1.修改 ssh 配置 vi /etc/ssh/ssh_config vi /etc/ssh/sshd_config ///以上这2个文件,都去掉#port22前"#",将22改为 ...
- Node_进阶_6
Node进阶第六天 一.复习 cookie是在res中设置,req中读取的.第一次的访问没有cookie. cookie的存储大小有限,kv对儿.对用户可见,用户可以禁用.清除cookie.可以被篡改 ...
- 批量删除harbor中的镜像
一 说明 这个是我第一篇博客,所以我想放上原创的东西,尽管我一直都很担心自己写得太low,但是总要学会尝试,学会改变自己,相信自己.在写这个脚本时,由于我接触LInux不是很多,能力有限,仅仅是为了让 ...
- 紫书 习题 8-13 UVa 10570 (枚举+贪心)
我看到数据范围只有500, 第一反应枚举所有的可能,然后求出每种可能的最小次数. 但是不知道怎么求最小次数.我想的是尽量让一次交换可以让两个不在应该在的位置的数字 到原来应该在的位置的数字, 这样可以 ...
- [terry笔记]11gR2_dataguard_主备库切换
主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GU ...
- POJ 2607 Fire Station
Fire Station Time Limit: 5000ms Memory Limit: 65536KB This problem will be judged on PKU. Original I ...
- Linux split 命令用法详解 - 切割文件[转]
功能说明:切割文件.语 法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切 ...