Как сохранить фотографию с EXIF ​​(GPS) И ориентацией на iPhone?

Я использую writeImageToSavedPhotosAlbum: метаданные: ЗавершениеБлок: , чтобы сохранить изображения в альбоме камеры (данные GPS в словаре передаются в метаданные). Однако изображения неправильно ориентированы (так как я переворачиваю устройство во время съемки).

Есть еще одна функция writeImageToSavedPhotosAlbum: Ориентация: ЗавершениеБлок: но я не сможет передавать данные EXIF.

Согласно документации, есть свойство kCGImagePropertyOrientation для установить ориентацию вручную, но у меня возникают проблемы с определением текущей ориентации устройства при съемке и сохранении изображения.

Кто-нибудь добился сохранения изображения с данными EXIF ​​и правильной ориентации? Мы будем очень благодарны за любую помощь.

Вот мой код:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    [self dismissModalViewControllerAnimated:YES];
    [imageView setImage:image];

    if(sourceCamera) {
        //EXIF and GPS metadata dictionary
        (...)

        //saving image
        ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];       
        [al writeImageToSavedPhotosAlbum:[image CGImage]
                                metadata:dict
                         completionBlock:^(NSURL *assetURL, NSError *error) {
                             if (error == nil) {
                                NSLog(@"saved");
                             } else {
                                 NSLog(@"error");
                             }
        }];        
        [al release];
    }
}

С наилучшими пожеланиями,

a.

13
задан akashic 14 July 2011 в 20:08
поделиться