본문 바로가기

프로그래밍/아이폰 프로그래밍

JPEG 메타데이터 얻기 (iphone-exif 라이브러리 사용)



1.
indlude.zip 파일 안에는 EXIF 관련 .m .h 파일이 들어있습니다.
include.zip 파일의 압축을 풀어서 프로젝트 안에 추가 시킵니다.


2.
AppDelegate.m 내부에 
 

BOOL gLogging = FALSE;

을 적어줘야 합니다.



3.
EXIF를 사용할 페이지 위에
 

#import "EXF.h"

를 선언해 줍니다.



4.
이미지 파일을 불러와서 메타데이터를 추출 후 위도와 경도를 가져옵니다.

  NSString * path = [[NSBundle mainBundle]pathForResource:@"IMG_0902" ofType:@"JPG"];

NSMutableData *imageData = [NSMutableData dataWithContentsOfFile:path];

EXFJpeg *jpegScanner = [[EXFJpeg alloc] init]; 

[jpegScanner scanImageData: imageData];

EXFMetaData* exifData = [jpegScanner exifMetaData];

id ilongitude = [exifData tagValue:[NSNumber numberWithInt:EXIF_GPSLongitude]];

id ilongitudeRef = [exifData tagValue:[NSNumber numberWithInt:EXIF_GPSLongitudeRef]];

id ilatitude = [exifData tagValue:[NSNumber numberWithInt:EXIF_GPSLatitude]];

id ilatitudeRef = [exifData tagValue:[NSNumber numberWithInt:EXIF_GPSLatitudeRef]];

NSString *sLongitude = [NSString stringWithFormat:@"%@", ilongitude]; // 경도

NSString *sLongitudeRef = [NSString stringWithFormat:@"%@", ilongitudeRef];

NSString *sLatitude = [NSString stringWithFormat:@"%@", ilatitude]; // 위도

NSString *sLatitudeRef = [NSString stringWithFormat:@"%@", ilatitudeRef];

imageView.image = [UIImage imageNamed:@"IMG_0902.JPG"];

longitude.text = sLongitude;

latitude.text = sLatitude;

NSLog(@"Longitude: %@ %@", sLongitude, sLongitudeRef);

NSLog(@"Longitude: %@ %@", sLatitude, sLatitudeRef);

[jpegScanner release];



5.
GPS tags in the EXIF
  • EXIF_GPSLatitudeRef
  • EXIF_GPSLatitude 
  • EXIF_GPSLongitudeRef 
  • EXIF_GPSLongitude 
  • EXIF_GPSAltitudeRef 
  • EXIF_GPSAltitude 
  • EXIF_GPSTimeStamp 
  • EXIF_GPSSatellites 
  • EXIF_GPSStatus 
  • EXIF_GPSMeasureMode 
  • EXIF_GPSDOP 
  • EXIF_GPSSpeedRef 
  • EXIF_GPSSpeed 
  • EXIF_GPSTrackRef 
  • EXIF_GPSTrack 
  • EXIF_GPSImgDirectionRef 
  • EXIF_GPSImgDirection 
  • EXIF_GPSMapDatum 
  • EXIF_GPSDestLatitudeRef 
  • EXIF_GPSDestLatitude 
  • EXIF_GPSDestLongitudeRef 
  • EXIF_GPSDestLongitude 
  • EXIF_GPSDestBearingRef 
  • EXIF_GPSDestBearing 
  • EXIF_GPSDestDistanceRef 
  • EXIF_GPSDestDistance