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

这两种方法都挺实用的,不过第二种比较简短,第一种适合用来提高自己的逼格吧.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,835评论 4 61
  • 还是想再见你 还试着打探你的消息
    哆啦哆啦421阅读 1,396评论 0 0
  • 快中秋了,最近大家都在画月饼,所以楼主也来画中国风的月饼,应应景^O^ 这次用到的工具还蛮多的,有彩铅、水彩颜料、...
    糖醋罗飞鱼阅读 3,017评论 2 5
  • 当我们创建一个新的程序,最先开始接触的就是AppDelegate这个文件,我们会看到.m文件中有许多方法,但我们并...
    白云苍狼阅读 3,408评论 0 0
  • 妹妹嫁到邻村了,去年养了一条土狗。 这条狗特温顺,几乎没见它叫过。有时候妹妹骑电车过来玩,它会跟着跑过来...
    逢水乘舟阅读 3,741评论 0 3

友情链接更多精彩内容