• iOS 画圆形头像



    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;

    }



  • 相关阅读:
    docker volume
    Nginx 安装配置
    Shell test 命令,Shell 输入/输出重定向
    Shell 变量,Shell echo命令
    MongoDB数据库
    linux yum 命令
    Linux 磁盘管理,Linux vi/vim
    Python----Paramiko模块和堡垒机实战
    Linux 文件与目录管理,Linux系统用户组的管理
    Linux 忘记密码解决方法,Linux 远程登录
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7058960.html
Copyright © 2020-2023  润新知