将表示图像的NSMutableData保存到iPhone照片库

时间:2011-09-03 00:16:56

标签: iphone objective-c ios exif

我有一个NSMutableData,其中包含我想要保存在设备库中的JPEG。

我可以将它转换为UIImage,但是它会丢失EXIF数据,所以应该避免使用UII。

编辑反映我要完成的工作

我正在使用iphone-exif library编辑主套装中图片的元数据。我想将结果图像保存在照片库中

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 个答案:

答案 0 :(得分:2)

据我所知,

UIImageWriteToSavedPhotosAlbum(带有UIImage)是在设备照片库中获取图像的唯一记录路径。

您对“丢失EXIF数据”有何疑虑?你在谈论方向吗? (UIImage应该为您处理。)或其他EXIF数据?

你可以获得照片库的图像 out 的唯一方法是作为UIImage,所以我不确定通过将原始JPEG流推入库中可以获得什么。

答案 1 :(得分:-1)

编写文件使用:

[yourImage writeToFile:filePath atomically:YES];

[]的