UIImagePickerController破坏了图像

时间:2014-04-16 11:35:39

标签: ios objective-c uiimagepickercontroller nsdata uiimagejpegrepresentation

我正在开发一款应用,我需要从UIImage获取字节。

目前,我使用UIImagePickerController,并获得UIImage这样的内容,

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

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

NSData *data = UIImageJPEGRepresentation(image, 1.0);

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

另一方面,我已将jpeg添加到app的包中,并尝试将图像转换为数据,

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

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

以下是我的问题:

  1. 如何正确地从UIImagePickerController中获取图像的字节数?
  2. 有没有办法以编程方式将照片添加到套装中?
  3. 谢谢!

    编辑:

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

1 个答案:

答案 0 :(得分:1)

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

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

此处'数据'将是您从捕获的图像中获取的NSData。

相关问题