[swift] 이미지 파일 형식 변환하기

이미지 파일 형식 변환은 iOS 앱 개발에서 자주 사용되는 작업 중 하나입니다. 특정 형식의 이미지 파일을 다른 형식으로 변환하는 방법을 알아보겠습니다.

UIImage와 UIImageJPEGRepresentation

iOS에서 이미지를 다룰 때 가장 많이 사용되는 클래스는 UIImage입니다. UIImage는 JPEG, PNG, GIF 등 다양한 이미지 형식을 지원합니다.

형식을 변환하기 위해 우선 UIImageJPEGRepresentation이라는 함수를 사용하겠습니다. 이 함수는 UIImage 객체를 JPEG 형식의 Data로 변환해줍니다.

if let image = UIImage(named: "original_image") {
    if let jpegData = UIImageJPEGRepresentation(image, 0.8) {
        // 변환된 JPEG 데이터를 사용할 수 있습니다.
    }
}

위의 코드에서 UIImage(named:) 메소드를 사용하여 original_image라는 이름의 이미지 파일을 가져옵니다. 그리고 UIImageJPEGRepresentation 함수를 사용하여 해당 이미지를 JPEG 형식의 데이터로 변환합니다. 두 번째 매개변수는 JPEG 이미지의 압축률을 나타내며, 0.0에서 1.0 사이의 값을 가질 수 있습니다.

UIImage와 UIImagePNGRepresentation

JPEG 형식 이외에도 PNG 형식으로 이미지를 변환하는 방법도 간단합니다. UIImagePNGRepresentation 함수를 사용하면 됩니다.

if let image = UIImage(named: "original_image") {
    if let pngData = UIImagePNGRepresentation(image) {
        // 변환된 PNG 데이터를 사용할 수 있습니다.
    }
}

위의 코드에서 UIImage(named:) 메소드를 사용하여 original_image라는 이름의 이미지 파일을 가져옵니다. 그리고 UIImagePNGRepresentation 함수를 이용하여 해당 이미지를 PNG 형식의 데이터로 변환합니다.

Data를 이미지로 변환하기

위에서는 이미지를 데이터로 변환하는 방법에 대해 알아보았습니다. 이번에는 반대로 데이터를 이미지로 변환하는 방법에 대해 알아보겠습니다.

if let data = try? Data(contentsOf: imageURL) {
    if let image = UIImage(data: data) {
        // 변환된 이미지를 사용할 수 있습니다.
    }
}

위의 코드에서는 Data(contentsOf:) 메소드를 사용하여 imageURL로부터 데이터를 읽어옵니다. 그리고 UIImage 클래스의 이니셜라이저를 사용하여 데이터를 이미지로 변환합니다.

참고 자료