[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
}
}
위의 코드에서 imageView
의 layer.cornerRadius
프로퍼티를 원하는 모서리 둥글기의 크기로 설정하면 됩니다. 이후 imageView.clipsToBounds
를 true
로 설정하여 이미지가 자신의 프레임을 벗어나지 않도록 설정합니다.
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
에 설정합니다.
위의 방법들을 사용하여 이미지의 모서리를 둥글게 처리할 수 있습니다. 원하는 모서리 둥글기의 크기나 형태에 맞게 코드를 수정하여 사용하세요.
참고 자료: