Я использую 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.