본문 바로가기
개발/Swift

[SwiftUI] UIImageWriteToSavedPhotosAlbum()을 사용하여 갤러리에 이미지 저장 방법

by Wrmoon 2023. 7. 12.
반응형

SwiftUI에서 UIImageWriteToSavedPhotosAlbum()로 이미지 저장하는 방법

안녕하세요! 이번 블로그 글에서는 SwiftUI에서 UIImageWriteToSavedPhotosAlbum() 함수를 사용하여 이미지를 저장하는 방법을 알려드리겠습니다. 이 함수는 UIKit의 기능이므로 SwiftUI와 함께 사용할 때 UIKit 을 import 해야합니다.

 

 

  • SwiftUI 프로젝트 내에서 UIImageWriteToSavedPhotosAlbum() 함수를 호출할 때 UIKit을 import 해야 합니다. SwiftUI 파일의 맨 위에 다음 줄을 추가합니다.

import UIKit

 

 

  • 이미지를 저장하기 전에 UIImage 객체를 생성해야 합니다. 이를 위해 SwiftUI에서 사용하는 이미지를 UIImage로 변환하는 방법은 다음과 같습니다.
// SwiftUI 이미지를 UIImage로 변환하는 함수
func convertImageToUIImage(_ image: Image) -> UIImage {
    let controller = UIHostingController(rootView: image)
    let view = controller.view
    let size = view?.bounds.size ?? .zero
    controller.view.bounds = CGRect(origin: .zero, size: size)
    let renderer = UIGraphicsImageRenderer(size: size)
    let image = renderer.image { _ in
        view?.drawHierarchy(in: controller.view.bounds, afterScreenUpdates: true)
    }
    return image
}

이 함수를 사용하면 SwiftUI 이미지를 UIImage로 변환할 수 있습니다.

 

 

 

  • 저장할 이미지를 준비한 후에 UIImageWriteToSavedPhotosAlbum() 함수를 호출하여 이미지를 저장할 수 있습니다. 다음은 이를 수행하는 예시 코드입니다.
let imageToSave = Image("your_image_name")
let uiImage = convertImageToUIImage(imageToSave)

UIImageWriteToSavedPhotosAlbum(uiImage, nil, nil, nil)

이 코드는 "your_image_name"에 해당하는 이미지를 가져와 UIImage로 변환한 다음, UIImageWriteToSavedPhotosAlbum() 함수를 호출하여 이미지를 사진첩에 저장합니다.

이제 SwiftUI에서 UIImageWriteToSavedPhotosAlbum() 함수를 사용하여 이미지를 저장하는 방법을 알게 되었습니다. 위의 단계를 따라하면 손쉽게 이미지를 저장할 수 있습니다.

반응형

댓글