[swift] 이미지 모서리 둥글게 처리하기

iOS 앱에서 이미지를 표시할 때, 종종 이미지의 모서리를 둥글게 처리하는 기능을 구현해야 할 때가 있습니다. Swift 언어를 사용하여 이미지의 모서리를 둥글게 처리하는 방법을 알아보겠습니다.

1. CALayer 사용하기

CALayer를 사용하여 이미지의 모서리를 둥글게 처리할 수 있습니다.

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        imageView.layer.cornerRadius = 10
        imageView.clipsToBounds = true
    }
    
}

위의 코드에서 imageViewlayer.cornerRadius 프로퍼티를 원하는 모서리 둥글기의 크기로 설정하면 됩니다. 이후 imageView.clipsToBoundstrue로 설정하여 이미지가 자신의 프레임을 벗어나지 않도록 설정합니다.

2. UIImage 확장(extension) 사용하기

UIImage의 확장(extension) 기능을 사용하여 모서리 둥글게 처리하는 함수를 구현할 수도 있습니다.

import UIKit

extension UIImage {

    func roundCorners(radius: CGFloat) -> UIImage? {
        let rect = CGRect(origin:CGPoint(x: 0, y: 0), size: self.size)
        UIGraphicsBeginImageContextWithOptions(self.size, false, UIScreen.main.scale)
        UIBezierPath(roundedRect: rect, cornerRadius: radius).addClip()
        self.draw(in: rect)
        let output = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return output
    }

}

class ViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let image = UIImage(named: "example.png")
        let roundedImage = image?.roundCorners(radius: 10)
        imageView.image = roundedImage
    }
    
}

위의 코드에서 UIImage의 확장(extension)으로 roundCorners 함수를 추가하고, 이 함수를 사용하여 이미지를 모서리가 둥글게 처리합니다. draw(in:) 메서드를 사용하여 새로운 이미지를 생성하고, 이를 imageView에 설정합니다.


위의 방법들을 사용하여 이미지의 모서리를 둥글게 처리할 수 있습니다. 원하는 모서리 둥글기의 크기나 형태에 맞게 코드를 수정하여 사용하세요.

참고 자료: