3

AVFoundation を使用して、UIView で画像をキャプチャし、コメントを追加しました。ここで、キャプチャした画像の位置情報を取得する必要があります。私の現在のコードスニペットは以下のとおりです。メタデータに位置情報がありません。多分私はCLLocationを使わなければならないでしょうか?至急ご案内ください。

[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
 {
     CFDictionaryRef metadataDict = CMCopyDictionaryOfAttachments(NULL, imageSampleBuffer, kCMAttachmentMode_ShouldPropagate);
     NSMutableDictionary *metadata = [[NSMutableDictionary alloc] initWithDictionary:(__bridge NSDictionary*)metadataDict];
     CFRelease(metadataDict);
     NSLog(@"%@",metadata);
     CFDictionaryRef exifAttachments = CMGetAttachment( imageSampleBuffer, kCGImagePropertyExifDictionary, NULL);
     if (exifAttachments)
     {
         // Do something with the attachments.
     }
     else
         NSLog(@"no attachments");

     NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
     [captureSession stopRunning];
     [imageData writeToFile:path atomically:YES];
 }];
4

1 に答える 1

0

私が知る限り、独自のメタデータ ディクショナリをラップして、それを画像データに追加する必要があります。

AVCaptureStillImageOutput api を使用してキャプチャされた写真への EXIF および地理位置情報データの書き込みを処理するクラス拡張 (Gustavo による、以下のリンク) は次のとおりです

また、実装について説明している Gustavo の記事は次のとおりです

HTH

于 2015-04-24T17:07:18.160 に答える