• 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
    

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

  • 相关阅读:
    渗透测试中的文件传输通道1- cmd下下载文件
    内网渗透常用命令
    技术剖析中国菜刀原理
    win8 iis安装及网站发布
    C++与C的区别一
    C语言实现单链表,并完成链表常用API函数
    C语言实现数组及链表的快速排序
    使用C语言封装数组,动态实现增删改查
    C语言中静态断言的使用
    二分查找法C语言实现
  • 原文地址:https://www.cnblogs.com/JanChuJun/p/10102287.html
Copyright © 2020-2023  润新知