###使用言語
swift2.0
###前提・実現したいこと
AVFoundationを利用して写真を撮り、そのデータ(Array<NSData>)をNSUserDefaultsに保存しています。
NSUserDefaults内のデータを取り出して1つずつUIImageにキャストしてUICollectionViewに写真一覧として表示しているのですが、横向きで撮った写真でも縦に表示されてしまっているので、これを改善したいです。
※ちなみに、iPhoneのアルバムに保存したくありません。
###問題点
AVFoundationで撮影した写真には、自動的に撮影地の座標や画像の回転情報といったメタデータは付いているのでしょうか?
もしメタデータが付いているならNSDataからメタデータ(EXIF)を抜き出すにはどうしたらよいのでしょうか?
また、そもそもメタデータがNSDataに付いてないなら、NSDataにEXIFを追記するにはどのようにすればよいのでしょうか?
ちなみにEXIFを抜き出すためのコード(objective-c)がqiitaで公開されていたのですが、このコードは参考になるでしょうか?
#import "ViewController.h" #import <ImageIO/ImageIO.h> #import <CoreLocation/CoreLocation.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSString *imgPath = [NSString stringWithFormat:@"%@/exit_test.JPG", [[NSBundle mainBundle] resourcePath]]; CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)CFBridgingRetain([NSURL fileURLWithPath:imgPath]), nil); NSDictionary *metadata = (NSDictionary *) CFBridgingRelease(CGImageSourceCopyPropertiesAtIndex(source, 0, NULL)); //GPS Dictionary NSDictionary *GPSDictionary = [metadata objectForKey:(NSString *)kCGImagePropertyGPSDictionary]; } @end
UIImagePickerControllerを利用して撮影された写真のEXIF取得・追加の方法は数多く公開されているのですが、AVFoundationで撮影されたNSDataからEXIFを取得したり追加する方法が見つけることができずに困っております。
もし、分かる方が居られましたらご教授お願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/28 15:35