본문 바로가기

iOS/Swift

[ios - swift] resize UIImage

 

//이미지의 크기를 변경 후 파일로 저장하려는 경우 
//UIGraphicsImageRenerer에 size와 format을 지정해주어야 저장되는 이미지 파일에도 변경된 크기가 적용된다.
//size만 지정해주는 경우 이미지의 크기는 바뀌지만 이미지 파일의 크기는 바뀌지 않는다.

func resize(newWidth: CGFloat) -> UIImage {
    let scale = newWidth / self.size.width
    let newHeight = self.size.height * scale

    let size = CGSize(width: newWidth, height: newHeight)
    let format = imageRendererFormat
    format.opaque = true
    let render = UIGraphicsImageRenderer(size: size, format: format)
    let renderImage = render.image { context in
        self.draw(in: CGRect(origin: .zero, size: size))
    }

    return renderImage
}

'iOS > Swift' 카테고리의 다른 글

[ios - swift] download image from url  (0) 2022.12.05
[ios - swift] Alamofire upload image data  (0) 2022.12.05
[ios - swift] crop UIImage  (0) 2022.11.23
[ios - swift] CMSampleBuffer to UIImage  (0) 2022.11.23
[ios - swift] UIImage rotation  (0) 2022.11.23