khstar

Swift UIImage 사이즈 조절하기 본문

카테고리 없음

Swift UIImage 사이즈 조절하기

khstar 2018. 10. 28. 23:37
반응형

iOS 개발중 카메라로 사진을 찍고 Document에 저장하면 용량이 엄청 크게 잡힌다. 

사진의 용도가 컨텐츠의 정보 전달용이기 때문에 화질이 좋을 필요는 없어 사이즈를 줄일 방법을 찾아 봤다. 


구글링을 하니 바로 나와준다.


extension UIImage {
    func resized(withPercentage percentage: CGFloat) -> UIImage? {
        let canvasSize = CGSize(width: size.width * percentage, height: size.height * percentage)
        UIGraphicsBeginImageContextWithOptions(canvasSize, false, scale)
        defer { UIGraphicsEndImageContext() }
        draw(in: CGRect(origin: .zero, size: canvasSize))
        return UIGraphicsGetImageFromCurrentImageContext()
    }
    func resized(toWidth width: CGFloat) -> UIImage? {
        let canvasSize = CGSize(width: width, height: CGFloat(ceil(width/size.width * size.height)))
        UIGraphicsBeginImageContextWithOptions(canvasSize, false, scale)
        defer { UIGraphicsEndImageContext() }
        draw(in: CGRect(origin: .zero, size: canvasSize))
        return UIGraphicsGetImageFromCurrentImageContext()
    }
}

위와 같이 UIImage를 확장하고 호출만 해줘서 사용했다.


출처 : https://stackoverflow.com/questions/29137488/how-do-i-resize-the-uiimage-to-reduce-upload-image-size


반응형
Comments