如何将 iPhone 画廊中的图像添加到数组 IOS

Posted

技术标签:

【中文标题】如何将 iPhone 画廊中的图像添加到数组 IOS【英文标题】:How to add image from iPhone gallery to an array IOS 【发布时间】:2016-08-19 08:24:44 【问题描述】:

由于我对 ios 开发非常陌生,因此我正在尝试将图像库中的 uiimage 添加到数组中。但是当我尝试使用数组将图像添加到 uiimageview 时,它会显示一个错误

[UIImage stringByDeletingPathExtension]: 无法识别的选择器发送到 实例 0x7fefd3ea02f0。

choosen_Imgae = info[ UIImagePickerControllerOriginalImage]; 
// 
// choosen_Imgae = [self resizeImage:choosen_Image];
NSLog(@"chosen image %@",choosen_Imgae); 
[picker dismissViewControllerAnimated:YES completion:NULL]; 
NSData *dataImage = [[NSData alloc] init]; 
dataImage = UIImagePNGRepresentation(choosen_Imgae); 
if (dataImage != nil)  
    [image_Arr insertObject:choosen_Imgae atIndex:indexxpath.row];
    NSLog(@"image array after adding object %@",image_Arr);

【问题讨论】:

您需要分享一些代码,然后我们可以帮助您。 从图库中获取图像并将其添加到图像数组中 您需要在数组中追加而不是在特定索引处插入。如果您的数组分配有固定大小,则可以使用 insertObject:atIndex: 否则使用 addObject: 方法。还要确保在使用任何这些之前,您的数组已正确初始化。 ashish 检查我的答案 【参考方案1】:

兄弟,你可以简单地将图像添加到数组中。

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

   UIImage *choosen_Imgae=[info objectForKey:@"UIImagePickerControllerOriginalImage"];
   [image_Arr addObject:image];
   [picker dismissViewControllerAnimated:YES completion:nil];

如果你在didFinishPickingMediaWithInfo中使用NSData,这是一个漫长的过程(image->NSData)。当再次从数组中获取图像时,你必须将NSData转换为图像。所以你可以直接将图像保存到数组中。 此外,您不需要使用 insertObject 来排列。

从数组中获取图片时

for (int i=0; i<[image_Arr count]; i++)

    UIImage *fetch_Image = [image_Arr objectATIndex:i];
    imageView.image = fetch_Image;

【讨论】:

以上是关于如何将 iPhone 画廊中的图像添加到数组 IOS的主要内容,如果未能解决你的问题,请参考以下文章

将编辑后的图像保存到 iPhone 画廊

如何将图像保存到kotlin中的画廊

问题 - 将图像文件保存到 iphone 中的资源文件夹

如何将图像从相机/UIImagePickerController 动态添加到 iPhone 中的 iCarousel

如何将图像保存在android画廊中

如何根据添加到画廊的日期在 Swift 中对照片进行排序