我正在制作一个应用程序,我使用相机拍照,并希望将这些图片保存在plist上,以便我将来可以使用。我还想从plist中检索保存的图像并在imageview上显示它们。有多个图像。请任何人都可以帮助我
这是我用于添加到plist
的代码imageArray addObject:[NSString stringWithFormat:@"%@",imageView.image]];
[imageArray writeToFile:plistPath atomically:YES];
但是当我试图检索图像并将其设置在imageview上时,我无法看到图像。 感谢。
答案 0 :(得分:1)
你不能像这个方法一样保存到plist。支持的格式是NSData,NSString,NSArray,NSDictionary,NSDate和NSNumber。您可以将UIImage转换为NSData,并可以使用plist进行编写。
将图像转换为NSData
NSData *data = UIImagePNGRepresentation(imageview.image);
[imageArray addObject:data];
[imageArray writeToFile:plistPath atomically:YES];
以及NSLog您的文件路径以找到yoyr plist的保存位置。
希望这有帮助!!!
答案 1 :(得分:0)
看到这个,
保存:
- (IBAction)saveImage {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
UIImage *image = imageView.image; // imageView is my image from camera
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:NO];
}
用于检索:
- (IBAction)getImage {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
UIImage *img = [UIImage imageWithContentsOfFile:getImagePath];
}