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;
}
最新文章
- Dom addEventlistener与id 绑定事件的区别(续)
- React Native初试:Windows下Andriod环境搭建
- oracle学习之表空间
- 图表框架HelloCharts(3)饼状图
- hdu 2689
- jsp跳转到servlet
- 【带着canvas去流浪】(2)绘制折线图
- Vue基本使用和指令集
- 【转】Visual Studio——多字节编码与Unicode码
- elasticsearch最大的条件数设置
- Ford VCM II Ford VCM2 Diagnostic Tool with Ford IDS v108 Installed On Laptop Ready to Use
- [通信] C# TCP实现多个客户端与服务端 数据 与 文件的传输
- [ios]MKMapView中使用MKPolyline画线
- Linux &; Oracle目录说明
- 代码重构:用工厂+策略模式优化过多的if else代码块
- Filter详解
- OpenGL 4.0的Tessellation Shader(细分曲面着色器)
- 64_r3
- Linux 下8种优秀的屏幕录制机
- Mock数据使用的Util