Сохраните NSMutableData, представляющий изображение, в библиотеку фотографий iPhone - PullRequest
1 голос
/ 03 сентября 2011

У меня есть NSMutableData, содержащий JPEG, который я хочу сохранить в библиотеке устройства.

Я могу сделать это, преобразовав его в UIImage, но затем он потеряет данные EXIF, поэтому следует избегать UIImaes.

РЕДАКТИРОВАТЬ Чтобы отразить то, что я пытаюсь сделать

Я использую библиотеку iphone-exif для редактирования метаданных изображения в моем основном комплекте. Я хочу сохранить полученное изображение в библиотеке фотографий

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"P1080330" ofType:@"JPG"];  
NSData *uiJpeg = [NSData dataWithContentsOfFile:filePath];  
EXFJpeg* jpegScanner = [[EXFJpeg alloc] init];
[jpegScanner scanImageData: uiJpeg];
NSLog(@" EXIF_Make   %@ ", [ jpegScanner.exifMetaData tagValue: [NSNumber numberWithInt:EXIF_Make]]); // OUTPUTS PANASONIC

// Change camera maker to FairyGodmother
[jpegScanner.exifMetaData addTagValue: @"FairyGodmother" forKey:[NSNumber numberWithInt:EXIF_Make]];

NSMutableData *newImageData = [[NSMutableData alloc] init];
[jpegScanner populateImageData:newImageData];

// NOW I HAVE THE NSMUTABLEDATA CONTAINGING MY IMAGE WITH ALL MY EXIF DATA. HOW DO I PUT IT TO THE PHOTO LIBRARY?

Ответы [ 2 ]

2 голосов
/ 03 сентября 2011
Насколько мне известно,

UIImageWriteToSavedPhotosAlbum (который принимает UIImage) - единственный документированный путь для получения изображения в библиотеке фотографий устройства.

Какое у вас отношение к "потере данных EXIF"?Вы говорите об ориентации?(UIImage должен позаботиться об этом за вас.) Или другие данные EXIF?

Единственный способ получить изображение из библиотеки фотографий - это также UIImage, так что я не уверен, что вы выиграете, вставив сырой поток JPEG вбиблиотека.

0 голосов
/ 03 сентября 2011

Для записи файла используйте:

[yourImage writeToFile:filePath atomically:YES];

[] s

...