swift3.0 UIImage 圓形圖標

swift UIImage 圓形圖標:

import UIKit
extension UIImageView{
    
    /**
     
     * 設置圓形的圖片
     
     * param: urlStr            網絡圖片地址
     
     * param: placeholderStr    占位圖片名稱
     
     * param: radius            圓角半徑
     
     */
    func setImageOfRound(urlStr:String,placeholderStr:String,radius:CGFloat){
        
        let url = URL(string: urlStr)
        let urlRequest = URLRequest(url: url!)

        self.setImageWith(urlRequest, placeholderImage:UIImage(named: placeholderStr), success: {(urlRequest,response,image)->Void in
            self.image = image   //這句一定要比self.cornerRadius(radius: radius)先執行
            self.cornerRadius(radius: radius)
//
        }, failure: {
            (urlRequest,response,error)->Void in
        
            
        })
        
    }
    
    
    /**
     
     * param: radius            圓角半徑
     
     * 注意:只有當imageView.image不為nil時,調用此方法才有效果
     
     */
    func cornerRadius(radius:CGFloat){
        
        //開始圖形上下文
        UIGraphicsBeginImageContextWithOptions(self.bounds.size, false, UIScreen.main.scale)
        
        //獲取圖形上下文
        let ctx = UIGraphicsGetCurrentContext()
        
        //根據一個rect創建一個橢圓
        ctx!.addEllipse(in: self.bounds)
        

        //裁剪
        ctx!.clip()
        
        //將原照片畫到圖形上下文
         self.image!.draw(in: self.bounds)
        
        //從上下文上獲取剪裁后的照片
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        
        //關閉上下文
        UIGraphicsEndImageContext()
        
        self.image = newImage
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容