当前位置: 首页 > 编程笔记 >

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

苏伟志
2023-03-14
本文向大家介绍IOS定制属于自己的个性头像,包括了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();

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

 类似资料:
  • 本文向大家介绍属于自己的Android对话框(Dialog)自定义集合,包括了属于自己的Android对话框(Dialog)自定义集合的使用技巧和注意事项,需要的朋友参考一下 Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismis

  • 更新(阅读后传递额外的属性到maven原型:生成): 我创造了自己的原型。src/main/资源/原型资源/pom.xml: 想要使用我自己的第三方deps工件和第三方deps版本参数。所以我添加了src/main/resources/META-INF/maven/archetype元数据。xml文件: 将archetype安装到我的本地存储库中。然后根据我的自定义原型创建工件: mvn原型:生成

  • 本文向大家介绍封装属于自己的JS组件,包括了封装属于自己的JS组件的使用技巧和注意事项,需要的朋友参考一下 一、扩展已经存在的组件 1、需求背景 很多时候,我们使用jquery.ajax的方式向后台发送请求,型如       这种代码太常见了,这个时候我们有这样一个需求:在自己调用ajax请求的时候,我们不想每次都写error:function(e){}这种代码,但是我们又想让它每次都将ajax的

  • 问题内容: 是否可以从函数范围内访问python函数对象属性? 例如让我们 现在,如果要返回_x属性内容“ foo”,则必须是什么?如果有可能(简单) 谢谢 更新: 我也想做以下工作: 更新2: 声明不可能(如果是这种情况),以及为什么,比提供一种方法来伪造它更令人满意,例如使用不同于函数的对象 问题答案: 解 使函数的默认参数之一成为对函数本身的引用。 用法示例: 说明 原始张贴者想要一种不需要

  • 我们如何在IBM自由中定义和更改自定义propeents值,当从WA迁移到自由时,在WA(Web容器设置)中的属性下方 利伯蒂 的等效属性是什么? 错误:

  • 本文向大家介绍拥有一个属于自己的javascript表单验证插件,包括了拥有一个属于自己的javascript表单验证插件的使用技巧和注意事项,需要的朋友参考一下 自己编写了一个表单验证插件,使用起来很简单,以后还可以扩展更多的功能,比如ajax验证。 每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空;rule表示验