개인프로젝트 중 캐릭터의 사진을 받아와 프로필 사진 형태로 표시하는 부분이 있었는데 홈페이지에서는 캐릭터 전체 사진만 제공해 이미지를 자르는 기능이 필요했다
그러던 중 위와같은 메서드를 발견하였고 홈페이지에서 대충 읽어보니 자를 범위를 정하고 이미지를 cgImage로 변형해 위메서드를 통해 잘라낸 후 다시 UIImage로 반환해주는 방식이었다
extension UIImage {
func cropImage() -> UIImage? {
let cropZone = CGRect(x: 220, y: 80, width: 180, height: 180) // 내가 자를 범위
guard let cutImageRef = self.cgImage?.cropping(to: cropZone) else { //자른 이미지(인데 이제 cgImage)
return nil
}
return UIImage(cgImage: cutImageRef) //잘린 cgImage를 UIImage로 변환하여 반환
}
}
UIImage extension을 통해 바로 사용할 수 있는 메서드를 만들어 주었다
원래 이미지 | 자르고 적용한 모습 |
---|---|
![]() | ![]() |
참고자료
https://developer.apple.com/documentation/coregraphics/cgimage/1454683-cropping