我有一个ImagePickerController来选择一个将在绘图软件中用作背景图像的图像。
我需要实际选择图像的实际路径才能保存,以便我可以在应用关闭/打开时重新加载它。
我已经尝试保存UIImagePicker委托给出的NSURL,但它不起作用。
我在委托中得到了这样的网址:
NSURL *imageURL = [info valueForKey:UIImagePickerControllerReferenceURL];
我使用NSCoding保存/重新加载网址,然后尝试获取图像:
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageURL]];
我只需要路径才能重新加载图片......任何人都对此有所了解吗?
我开始怀疑这样做的正确方法可能不是对uiimage本身进行编码!
答案 0 :(得分:0)
您可以尝试creating bookmark data并对其进行编码,然后解码和restoring from bookmark data,而不是网址本身。 (我希望URL对象在编码和解码时能够自行处理,所以如果这解决了问题,我建议filing a bug。)
此外,如果你得到the URL's path,你可以将其传递给the imageOfContentsOfFile:
method,这可能比将文件的全部内容啜饮到内存中更有效地加载图像(至少可以确定图像文件类型)。
答案 1 :(得分:-1)
尝试+dataWithContentsOfFile:
代替+dataWithContentsOfURL:
。我有更好的运气。