0

我正在开发一个应用程序,我需要从UIImage.

目前,我使用UIImagePickerController, 并得到UIImage这样的,

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

然后UIImage使用此代码获取数据,

NSData *data = UIImageJPEGRepresentation(image, 1.0);

但是,data在这种情况下似乎已损坏。

另一方面,我已将 jpeg 添加到应用程序的包中,并尝试将图像然后转换为数据,

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"mapa" ofType:@"jpeg"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];

令人惊讶的是,这完美无缺。

以下是我的问题:

  1. 如何UIImagePickerController正确获取从中选择的图像字节?
  2. 有没有办法以编程方式将照片添加到捆绑包中?

谢谢!

编辑:

我在原始 JPEG 上有一些元数据字节(“GEO-Information”)。如果我将 jpeg 存储在 ipad 上,该元数据就会消失,我需要它们:S

4

1 回答 1

1

使用以下代码将图像存储在文档目录中;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
[data writeToFile:savedImagePath atomically:NO];   

这里的“数据”将是您从捕获的图像中获得的 NSData。

于 2014-04-16T11:44:09.820 回答