本文主要讲解如何从照片库选择一张照片后将其裁剪成圆形头像并显示,类似于微信头像那种模式。
本文的方法也适用于当时拍照获取的图像,方法类似,所以不再赘述。
本文主要是在ios 10环境下使用,此时如果要使用使用系统照片库、照相机等功能需要授权,授权方法如下:
右键点击工程目录中的“info.plist文件——>open as ——>source code”,打开复制以下你在应用中使用的隐私权限设置(描述自己修改):
下面,正式进入本文要实现的功能的代码编写。
1. 使用xcode的storyboard创建一个button和一个imageview
创建后的效果如下图1所示。其中,imageview的尺寸影响最终显示的效果尺寸,请根据实际情况设置。
2. 创建一个uiimage的类别(category)
创建新文件,选择“objective-c file”,如下图2所示:
在弹出的如图3所示的对话框中,“file”写入类别的名称(本例中是dy),“file type”选择category,“class”选择uiimage。然后点击“next”按钮,将新文件保存。
3. 编写类别中的代码
uiimage+dy.h文件中
uiimage+dy.m文件中
+(instancetype)circleoldimage:(uiimage )originalimage borderwidth:(cgfloat)borderwidth bordercolor:(uicolor )bordercolor方法的说明:
这是一个类方法,最终返回的是一个uiimage的类;
方法中originalimage参数指的是从照片库或者拍照后选中的照片(可能是经过系统裁剪的);
方法中borderwidth参数指的是最终显示的圆形图像的边框的宽度,可以可以根据自己的需要设置宽度;
方法中的bordercolor参数指的是最终显示的圆形图像的边框的颜色,可以可以根据自己的需要设置颜色。
4. 实现裁剪成圆形图像并显示
viewcontroller.h文件
viewcontroller.m文件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.jianshu.com/p/708596edb08a?utm_source=tuicool&utm_medium=referral