我正在开发一个应用程序,需要从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];
令人惊讶的是,这非常完美。
以下是我的问题:
- 如何正确获取从
UIImagePickerController
中选择的图像字节 - 有没有一种方法可以通过编程将照片添加到捆绑包中
谢谢!
编辑:
我在原始JPEG("GEO信息")上有一些元数据字节。如果我把jpeg存储在ipad上,元数据就会消失,我需要它们:S
使用以下代码将图像存储在文档目录中;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
[data writeToFile:savedImagePath atomically:NO];
这里的"数据"将是您从拍摄的图像中获得的NSData。