头像画圆

demo下载地址: http://pan.baidu.com/s/1mgBf6YG


_logoImageView . image = [ self getEllipseImageWithImage :[ UIImage imageNamed : @"1_wsq724439564.jpg" ]];

-( UIImage *)getEllipseImageWithImage:( UIImage *)originImage

{

    CGFloat padding = 5 ; // 圆形图像距离图像的边距

    UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色

    CGSize originsize = originImage. size ;

    CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height );

    UIGraphicsBeginImageContext (originsize);

    CGContextRef ctx = UIGraphicsGetCurrentContext ();

    // 目标区域。

    CGRect desRect =  CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 ));

    // 设置填充背景色。

    CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor );

    UIRectFill (originRect); // 真正的填充

    // 设置椭圆变形区域。

    CGContextAddEllipseInRect (ctx,desRect);

    CGContextClip (ctx); // 截取椭圆区域。

    [originImage drawInRect :originRect]; // 将图像画在目标区域。

    UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext ();

    UIGraphicsEndImageContext ();

    return desImage;

}

带有边框的圆形头像。

-( UIImage *)getEllipseImageWithImage:( UIImage *)originImage

{

    CGFloat padding = 5 ; // 圆形图像距离图像的边距

    UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色

    CGSize originsize = originImage. size ;

    CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height );

    UIGraphicsBeginImageContext (originsize);

    CGContextRef ctx = UIGraphicsGetCurrentContext ();

    // 目标区域。

    CGRect desRect =  CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 ));

    // 设置填充背景色。

    CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor );

    UIRectFill (originRect); // 真正的填充

    // 设置椭圆变形区域。

    CGContextAddEllipseInRect (ctx,desRect);

    CGContextClip (ctx); // 截取椭圆区域。

    [originImage drawInRect :originRect]; // 将图像画在目标区域。

    // 边框 //

    CGFloat borderWidth = 10 ;

    CGContextSetStrokeColorWithColor (ctx, [ UIColor whiteColor ]. CGColor ); // 设置边框颜色

    CGContextSetLineCap (ctx, kCGLineCapButt );

    CGContextSetLineWidth (ctx, borderWidth); // 设置边框宽度。

    CGContextAddEllipseInRect (ctx, desRect); // 在这个框中画圆

    CGContextStrokePath (ctx); // 描边框。

    // 边框 //

    UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext (); // 获取当前图形上下文中的图像。

    UIGraphicsEndImageContext ();

    return desImage;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值