iOS | Swift图片剪切圆角
我们在IOS开发中,时常需要将一些原本是方形的图片剪切成圆形或者边框是曲线的样子,表现得活泼生动一些.
注意:因为最近在尝试用Swiftl开发,所以这里的语言使用的就是Swift,OC的语法也是相近的.
这是修改之前的:

然后这是修改之后的:

第一种:通过图形绘制
extension UIImage{
func createImage(isCornored: Bool = true,size: CGSize = CGSize.zero,backgroundColor: UIColor = UIColor.white,callBack: @escaping (_ image: UIImage) ->()) {
//在子线程中执行
DispatchQueue.global().async {
let rect = CGRect(origin: CGPoint.zero, size: size)
//1. 开启上下文
UIGraphicsBeginImageContext(size)
//2. 设置颜色
backgroundColor.setFill()
//3. 颜色填充
UIRectFill(rect)
//4. 图像绘制
//切回角
let path = UIBezierPath(ovalIn: rect)
path.addClip()
self.draw(in: rect)
//5. 获取图片
let image = UIGraphicsGetImageFromCurrentImageContext()
//6 关闭上下文
UIGraphicsEndImageContext()
//回到主线程刷新UI
DispatchQueue.main.async(execute: {
callBack(image!)
})
}
}
}
第二种:剪切圆角
//设置圆角半径(通过设置这个的大小,越接近你的矩形宽度,圆的形状越明显)
iconImageView.layer.cornerRadius = 50
//必做的一步
iconImageView.layer.masksToBounds = true
//设置边框宽度
iconImageView.layer.borderWidth = 5
//设置边框的颜色
iconImageView.layer.borderColor = UIColor.black
这两种方法都挺实用的,不过第二种比较简短,第一种适合用来提高自己的逼格吧.
iOS | Swift图片剪切圆角的更多相关文章
- iOS 设置图片imageView圆角——对图片进行裁剪
以前设置图片圆角总是把imageView设置成圆形,然后设置maskToBounds为YES,其实这样处理很消耗性能,图片多了之后比较卡,最好将图片进行裁剪后显示:这里有个分类可以用: UIImage ...
- IOS 将图片转换为圆角图
UIImage+wiRoundedRectImage.h #import <UIKit/UIKit.h> @interface UIImage (wiRoundedRectImage) + ...
- iOS开发UI篇—Quartz2D使用(图片剪切)
iOS开发UI篇—Quartz2D使用(图片剪切) 一.使用Quartz2D完成图片剪切 1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - ...
- 【iOS】Quartz2D图片剪切
一.使用Quartz2D完成图片剪切1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - (void)drawRect:(CGRect)rec ...
- iOS Swift WisdomScanKit图片浏览器功能SDK
iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介 WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...
- iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言: 今天给大家 ...
- 在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
原文 http://www.jb51.net/article/75671.htm 图片剪切一.使用Quartz2D完成图片剪切1.把图片显示在自定义的view中先把图片绘制到view上.按照原始大小 ...
- iOS 图片剪切和压缩的几个方法
// 图片剪切 - (UIImage*)clipImageWithImage:(UIImage*)image inRect:(CGRect)rect { CGImageRef imageRef ...
- iOS Dev (50)用代码实现图片加圆角
用代码实现图片加圆角: iconView.layer.masksToBounds = YES; iconView.;
随机推荐
- 打包.NET Core的程序到一个单独的可执行文件
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:打包.NET Core的程序到一个单独的可执行文件.
- setInterval()的三种写法
前言: setInterval("fun()",time)有两个参数:fun()为要执行的函数:time为多久执行一次函数,单位是毫秒: 我们做一个简单的例子,就是每隔5s弹出一个 ...
- csharp:汉字转带拼音声调
{ ...
- Django的路由层(URLconf)
URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码 ...
- chosen下拉框插件的使用
效果如下 第一步: 第二步: 根据HTML5规范, 通常在引入CSS和JS时不需要指明 type,因为 text/css 和 text/javascript 分别是他们的默认值. <link r ...
- 避免console错误,console兼容
背景:写js代码时写了很多console.log进行日志打印,最后上生产时不想删除日志输出, 但是ie在不打开控制台时,日志输出会导致后续js不执行,所以需要适时屏蔽js日志输出 (IE等不支持con ...
- vim右键粘贴 等杂
putty连上linux,vim编辑个文件,我去,右键不能用用上下面的命令,就好了. set mouse-=a 今天发现mysql倒入utf-8的文件网站显示出来都是乱码,不过用utf-8的控制台看是 ...
- matlab练习程序(单源最短路径Dijkstra)
图的相关算法也算是自己的一个软肋了,当年没选修图论也是一大遗憾. 图像处理中,也有使用图论算法作为基础的相关算法,比如图割,这个算法就需要求最大流.最小割.所以熟悉一下图论算法对于图像处理还是很有帮助 ...
- 如何保护好我们的比特币(bitcoin)
转自:http://8btc.com/thread-819-1-1.html 随着比特币(BTC)的使用者越来越多:价格也很高(2013年,1比特币价格长期在100美元以上):同时比特币没有一个中央机 ...
- Select selectedIndex 属性
定义和用法 selectedIndex 属性可设置或返回下拉列表中被选选项的索引号. 注意: 若允许多重选择,则仅会返回第一个被选选项的索引号. 语法 设置 selectedIndex 属性: sel ...