HIT해

[Swift/UIImage] 이미지 잘라내기 cropping 본문

Swift/Swift 개발 노트

[Swift/UIImage] 이미지 잘라내기 cropping

힛해 2024. 9. 23. 05:11
728x90

 

이미지 정중앙을 도려내고 싶다면 이 코드를 사용하는 것을 추천한다.

 

func cropImageToCenterSquare(_ image: UIImage) -> UIImage? {
    let imageSize = image.size
    let shortLength = min(imageSize.width, imageSize.height)
    
    let origin = CGPoint(
        x: imageSize.width / 2,
        y: imageSize.height / 2
    )
    
    // 잘라낼 사각형 크기를 정사각형으로 설정
    let square = CGRect(origin: origin, size: CGSize(width: shortLength/2, height: shortLength/2))
    
    guard let cgImage = image.cgImage?.cropping(to: square) else {
        return nil
    }
    
    return UIImage(cgImage: cgImage)
}

 

origin이 잘라내기 시작할 좌표값이고 왼쪽위에 잘라낼 사각형 영역을 배치하여 자르기에 완전한 정중앙을 자르지는 않겠지만

 

조금만 커스텀해서 사용하면 원하는대로 잘라질 것이다.

 

이런식으로 말이다.