IOS定制属于自己的个性头像

 更新时间:2016年01月10日 14:34:24   作者:世俗孤岛  
这篇文章主要为大家介绍了IOS定制属于自己的个性头像,实现方法很简单,感兴趣的小伙伴们可以参考一下

本文实例介绍了IOS定制属于自己的个性头像的方法,分享给大家供大家参考,具体内容如下

一、效果图
1、将一张图片剪切成圆形
2、在图片周围显示指定宽度和颜色的边框

二、实现思路
1、效果图中主要由不同尺寸的两大部分组成

  • 蓝色的背景区域,尺寸等于图片的尺寸加上边框的尺寸
  • 图片区域,尺寸等于图片的尺寸

2、绘制一个圆形背景区域,用边框颜色填充
3、绘制一个圆形的图片区域,设置不显示超出的部分
三、实现步骤
1、加载需要显示的图片

UIImage *image = [UIImage imageNamed:@"资源中图片的名字"];

2、初始化用到的变量

//图片的宽宽高
CGFloat imageWH = image.size.width;
//边界的宽度
CGFloat border = 1;
//背景区域的宽高
CGFloat ovalWH = imageWH + 2 * border;

3、开启图形上下文(尺寸为背景区域的尺寸)

//设置图形上下文的尺寸
CGSize size = CGSizeMake(ovalWH, ovalWH);
//开启图形上下文
UIGraphicsBeginImageContextWithOptions(size, NO, 0);

4、绘制背景区域

//绘制封闭的圆形路径
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)];
//设置填充颜色
[[UIColor blueColor] set];
//渲染所绘制的区域
[path fill];

5、绘制图片区域

//绘制封闭的圆形区域
UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)];
//设置超出区域的内容剪掉(不显示)
[clipPath addClip];
//见图片绘制到圆形区域内,从点(border, border)开始
[image drawAtPoint:CGPointMake(border, border)];

6、从图形上下文中取出绘制的图片

UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();

7、将图片显示到imageView上

self.imageView.image = clipImage;

8、关闭图形上下文

UIGraphicsEndImageContext();

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • IOS小组件实现时钟按秒刷新功能

    IOS小组件实现时钟按秒刷新功能

    小组件运行在单独的进程,如果异常会导致小组件进程卡死了,一个小组件出问题,其他小组件都不刷新了。既然刷新这么难控制,怎么实现数字时钟按秒刷新呢?接下来通过代码给大家介绍下ios小组件刷新功能的实现,一起看看吧
    2021-05-05
  • IOS使用progssview仿滴滴打车圆形计时

    IOS使用progssview仿滴滴打车圆形计时

    本文给大家分享的是IOS中实现仿滴滴打车的原型计时效果,非常的实用,有需要的小伙伴可以参考下。
    2015-07-07
  • 详解iOS App中UISwitch开关组件的基本创建及使用方法

    详解iOS App中UISwitch开关组件的基本创建及使用方法

    UISwitch组件就是我们平时在iOS设置菜单中开到的那种左右滑动的开关按钮,当然我们在开发时可以进行更多的自定义,这里我们就来详解iOS App中UISwitch开关组件的基本创建及使用方法
    2016-05-05
  • iOS实现毫秒倒计时的方法详解

    iOS实现毫秒倒计时的方法详解

    倒计时在我们日常开发中必不可少,最近在公司的一个项目中就遇到了这个需求,本文着重介绍的是利用iOS实现毫秒倒计时的方法,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2017-04-04
  • iOS数据持久化UserDefaults封装器使用详解

    iOS数据持久化UserDefaults封装器使用详解

    这篇文章主要为大家介绍了iOS数据持久化UserDefaults封装器使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 详解Swift中对C语言接口缓存的使用以及数组与字符串转为指针类型的方法

    详解Swift中对C语言接口缓存的使用以及数组与字符串转为指针类型的方法

    这篇文章主要介绍了详解Swift中对C语言接口缓存的使用以及数组与字符串转为指针类型的方法的相关资料,这里提供简单实例,代码注释介绍也清楚,需要的朋友可以参考下
    2017-07-07
  • iOS实现简易的导航栏颜色渐变实例代码

    iOS实现简易的导航栏颜色渐变实例代码

    很多APP 都有导航栏颜色渐变的效果,下面这篇文章主要给大家介绍了关于iOS如何实现简易的导航栏颜色渐变效果的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-10-10
  • ios实现自动获取label高度、宽度及最后一个位置详解

    ios实现自动获取label高度、宽度及最后一个位置详解

    这篇文章主要给大家介绍了关于ios如何实现自动获取label高度、宽度及最后一个位置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • iOS给border设置渐变色的方法实例

    iOS给border设置渐变色的方法实例

    这篇文章主要给大家介绍了关于iOS给border设置渐变色的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 开发绘图、手势综合App注意点

    开发绘图、手势综合App注意点

    本篇文章主要给大家详细讲述了在IOS开发绘图、手势综合App容易遇到的坑以及注意事项等内容,有兴趣的朋友参考下吧。
    2018-02-02

最新评论