[swift] 이미지 EXIF 데이터 읽기
이미지 파일에는 흥미로운 정보인 EXIF(Exchangeable Image File Format) 데이터가 포함되어 있습니다. EXIF 데이터에는 사진이 찍힌 날짜, 카메라 제조사, 노출 시간 등 다양한 정보가 담겨 있습니다.
Swift에서는 ImageIO
프레임워크를 사용하여 이미지의 EXIF 데이터를 읽을 수 있습니다. 다음은 Swift로 이미지의 EXIF 데이터를 읽는 예제 코드입니다.
import ImageIO
func readExifData(from image: UIImage) -> [String: Any]? {
guard let imageData = image.jpegData(compressionQuality: 1),
let imageSource = CGImageSourceCreateWithData(imageData as CFData, nil)
else {
return nil
}
guard let imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil) as? [String: Any],
let exifData = imageProperties[kCGImagePropertyExifDictionary as String] as? [String: Any]
else {
return nil
}
return exifData
}
if let image = UIImage(named: "sample.jpg"),
let exifData = readExifData(from: image)
{
print(exifData)
}
이 코드는 readExifData(from:)
함수를 통해 이미지의 EXIF 데이터를 읽는 기능을 제공합니다. 함수는 UIImage
를 입력으로 받고, 이미지 데이터를 CGImageSource
로 변환한 다음 CGImageSourceCopyPropertiesAtIndex
를 이용하여 EXIF 데이터를 추출합니다. 마지막으로 추출된 데이터를 딕셔너리 형태로 반환합니다.
위 코드를 실행하면 sample.jpg
이미지의 EXIF 데이터가 출력됩니다. 출력 결과를 확인하면 사진이 찍힌 시간, 카메라 모델 등의 정보를 확인할 수 있습니다.
이 예제 코드는 Swift에서 이미지의 EXIF 데이터를 읽는 방법을 보여주는 간단한 예시입니다. ImageIO
프레임워크를 활용하여 다양한 이미지 처리 작업을 수행할 수 있으니, 관심 있는 분들은 더 자세한 공식 문서를 참고하시기 바랍니다.