zoukankan      html  css  js  c++  java
  • 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;

    }



  • 相关阅读:
    java并发编程-Executor框架 + Callable + Future
    Executors Future Callable 使用场景实例
    大数据云平台Greenplum:多租户篇
    Kafka集成SparkStreaming
    CDH集群安装出现问题参考
    Cloudera Manager卸载笔记
    Hive去除重复数据操作
    032 搭建搜索微服务01----向ElasticSearch中导入数据--通过Feign实现微服务之间的相互调用
    SpringBoot工程常见报错汇总
    030 ElasticSearch----全文检索技术05---基础知识详解03-聚合
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7058960.html
Copyright © 2011-2022 走看看