Запись UIImage в сохраненные фотоальбомы с помощью EXIF

Я сталкиваюсь со следующей проблемой при использовании UIImageWriteToSavedPhotoAlbum, и данные EXIF ​​теряются.

UIImage * image = [[UIImage alloc] initWithData:recevedData];
UIImageWriteToSavedPhotosAlbum (image, self, @selector(myselector:), nil);

receivedData — это полный файл JPG, полученный удаленно. Файл JPG содержит всю информацию Exif внутри. Однако после использования UIImageWriteToSavedPhotosAlbum для сохранения в фотоальбомы я понимаю, что EXIF ​​больше не хранится. Это из-за UIImageWriteToSavedPhotosAlbum или из-за UIImage удаления всех EXIF?


person alex    schedule 20.06.2011    source источник


Ответы (2)


См. структуру библиотеки ресурсов для сохранения изображений с данными EXIF.

person SashaQbl    schedule 20.06.2011

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:) , nil);

- (void) image:(UIImage *) image didFinishSavingWithError:(NSError *) error contextInfo:(void *) contextInfo {
    if ([image isEqual:image]) {
        if (error) {
            // Handle the error...
        }else {
            // saved succesfully
        }
    }else if (image == nil) {
        // no image was provided
    }
}

Документация Apple рекомендует указанный выше формат для селектора. Это может не решить вашу проблему, но вы будете знать, что происходит.

person Community    schedule 20.06.2011
comment
Извините, в моем коде для селектора была опечатка. Да, спасибо, что указали. Однако это не из-за селектора. Я думаю, что UIImage удаляет все данные EXIF. - person alex; 20.06.2011
comment
Вы можете использовать объект ошибки, чтобы узнать об ошибке. вы можете NSLog [локализованное описание ошибки] и посмотреть, в чем дело. Чтобы быть более уверенным, попробуйте отобразить это изображение в каком-нибудь imageView. - person ; 20.06.2011
comment
Я сомневаюсь, что есть ошибка при сохранении. Это просто потерянные метаданные. - person Deepak Danduprolu; 20.06.2011
comment
Да, это была одна из его проблем. Поэтому я попросил его проверить, правильно ли получено изображение, отображаемое в каком-либо представлении изображения. - person ; 20.06.2011
comment
Нет проблем с отображением. Данные exif исходного изображения полностью удалены UIImage. - person alex; 20.06.2011
comment
Мой общий вопрос: как мы можем писать в фотоальбом без использования UIImageWriteToSavedPhotosAlbum? То есть теперь у меня есть NSData, и я хочу писать прямо в фотоальбом, как есть, не проходя через UIImage. - person alex; 20.06.2011
comment
я еще не сталкивался с каким-либо другим способом сделать это, и я сомневаюсь, что он существует. вам нужно сделать uiimage без потери этих данных exif. - person ; 20.06.2011