2015-10-17 56 views
0

我有一个UIImage,我想从它制作NSData,然后保存到filie。无法使用UIImage形成NSData

问题是,我能够使UIImage但通过它使NSData我得到nil值。我想这两个UIImagePNGRepresentationUIImageJPEGRepresentation

这里是我的代码有详细的调试运行:

UIImage *img = [self.mImagesArray objectAtIndex:index]; 
NSData *imageData = UIImagePNGRepresentation(img); //nil 
NSData *imgData2 = UIImageJPEGRepresentation(img, 50); //nil i tried chaning 50 to 0.5 it also not working 
[imageData writeToFile:imagePath atomically:YES]; 

这里是一个展示我得到的UIImage但无法形成NSData图像:

enter image description here

enter image description here

编辑

我从UIImagePicker获取图像并将其添加在阵列:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

if (!self.mImagesArray) 
    self.mImagesArray = [[NSMutableArray alloc] init]; 

[self.mImagesArray addObject:[info objectForKey:UIImagePickerControllerOriginalImage]]; 

} 
+0

'imgData2'呢? –

+0

这也是零 – Dalvik

+0

你可以打印结果 - > whats your [self.mImagesArray objectAtIndex:index];包含 –

回答

0

enter image description here

试试这一个。

UIImage *image = [UIImage imageNamed:@"imageName.png"]; 
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)]; 
+0

不工作:(:( – Dalvik

+0

@RahulMishra检查附加图像。 – vijay

+0

但在这里它不工作 – Dalvik

0

从文档UIImagePNGRepresentation

返回值 含有PNG数据的数据对象如果在生成数据时出现问题,则为零。如果图像没有数据或者底层的CGImageRef包含不支持的位图格式的数据,该函数可能返回nil。


你有UIImage但并不保证它有数据,例如

UIImage *img = [[UIImage alloc] init]; 
NSData *data = UIImagePNGRepresentation(img); 

在这种情况下你有非nilUIImage对象,但它不包含任何数据因此将返回nilNSData

+0

我怎样才能解决这个issue..but我得到的UIImage正确..我是从图片选取器 – Dalvik

+0

选择它,你能张贴代码你是如何创建图像,然后将你的阵列? –

+0

我更新了我的问题 – Dalvik

0

此行适用于我。

UIImage *img = [UIImage imageNamed:@"oval.png"];//[self.mImagesArray objectAtIndex:index]; 
NSData *imageData = UIImagePNGRepresentation(img); 

所以,你的形象有问题。

UIImagePNGRepresentation可能返回零,如果图像没有CGImageRef或无效的位图格式

0

所有的拳检查在该指数你没有得到的图像或得到零索引。因为每次选取图像时都是将内存分配给数组。所以首先在视图中分配数组根据需要,Load或View会出现。并尝试通过考虑这一点来调试您的代码。

希望它能帮助你!

+0

HI @meera我已经分配的数组,我得到的阵列图像对象也是如此。但不知道为什么我收到这个零值 – Dalvik

+0

其实你想做的事,按规定我可以建议ü什么。 – Meera

+0

我有哪些用户可以上传五个图像的情景...然后他就可以添加或删除图像..图像的数量被限制到五年我要设计这个场景 – Dalvik