1

カメラを使って写真を撮り、その写真をplistに保存して、将来使用できるようにするアプリを作成しています。また、保存した画像をplistから取得して、imageviewに表示したいと思います。複数の画像があります。誰でもこれを手伝ってください

これが私がplistに追加するために使用している私のコードです

imageArray addObject:[NSString stringWithFormat:@"%@",imageView.image]];

[imageArray writeToFile:plistPath atomically:YES];

しかし、画像を取得してimageviewに設定しようとすると、画像が表示されません。ありがとう。

4

2 に答える 2

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して、yoyrplistが保存されている場所を見つけます。

お役に立てれば !!!

于 2013-03-26T12:15:02.163 に答える
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];
}
于 2013-03-26T12:17:22.123 に答える