Making a UIImage to a circle form

后端 未结 10 2062
南旧
南旧 2020-12-02 17:16

I have been trying to mask a UIImage into a circle. I\'m using now the code that has been popular on other answers here, but although I do get a circle its edges are very ja

10条回答
  •  北海茫月
    2020-12-02 17:39

    A better version of aToz's and fnc12's answers (in Swift):

    extension UIImage
    {
        func roundImage() -> UIImage
        {
            let newImage = self.copy() as! UIImage
            let cornerRadius = self.size.height/2
            UIGraphicsBeginImageContextWithOptions(self.size, false, 1.0)
            let bounds = CGRect(origin: CGPointZero, size: self.size)
            UIBezierPath(roundedRect: bounds, cornerRadius: cornerRadius).addClip()
            newImage.drawInRect(bounds)
            let finalImage = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            return finalImage
        }
    }
    

    Usage:

    self.userImageView.image = image.roundedImage()
    

提交回复
热议问题