2012-01-10 21 views
3

私がする必要があるのは、画像を撮ったり、写真ライブラリの1つのフォームを選択してアプリ内に保存して、アプリ内以外では表示されないようにすることです。たとえば、画像はアプリ内でのみ表示される "My Secret Folder"のようになります。私は秘密のフォルダアプリを作っていません....だから心配しないでください... =)アプリで画像を保存

私は申し訳ありませんが表示するコードがたくさんありますが、これを行う方法はわかりません。

私はリッチテキストファイルを見ていて、それがどうやって行けばいいのか、画像を保存することができるのか、それとも別のやり方をしなければならないのだろうかと思っていました。

おかげで、 デナリクリエイティブLLC

P.S.

私が探しているのは、アプリケーション内に1つ以上の画像を保存することです。ですから、私はImageか、これまでイメージがファイル名に保存されているものに名前を付ける必要があります。

答えて

2

あなたは、アプリケーションのサンドボックス

Documentsフォルダを同期中にバックアップされ、そしてLibrary/Cachesフォルダがない内の画像を保存することができます。それはあなたに秘密のレベルの間で選択を与えます。

あなたのイメージ(UIImagePickerControllerと< UIImagePickerControllerDelegate>プロトコルを以下のクラス)を持ってたら、NSDataのに変換して、目的のフォルダにそれをアーカイブします。あなたがたNSDataをアーカイブ解凍するとき、あなたはそうuはウルの画像を認識するために、他のアプリをたくない

[UIImage imageWithData:data]; 
0

で画像を

NSData * imageData = UIImagePNGRepresentation (image); 
NSData * imageData = UIImageJPEGRepresentation (image); 

よう

何かを作成することができます。私は確信していませんが、これはあなたを助けるかもしれません。標準的なpngまたはjpg拡張の代わりに、.abcのようなダミー拡張を置き換えれば、他のアプリケーションでは認識できません。他の方法もありますが、私はこの方法を使っていました。

0

Photo PickerデリゲートコールバックのPhotoPicker情報辞書から画像を抽出します。

/Documentsフォルダの下にサブディレクトリを設定し、そこにイメージを書き込みます。

NSData *pngData = UIImagePNGRepresentation(_myUIImage); 
BOOL successFlag = [pngData writeToFile:documentDirectorySubFolder options:0x0 error:&error]; 
3
  • ドキュメントフォルダにデータを保存Convert Image to Data
  • を使用したデータにUIImagePickerController
  • 変換イメージを使用するための検索/検索コード。他のアプリはドキュメントフォルダにアクセスできません。 フォルダ、このポストを参照してくださいSave Image to Disk
  • ディスクからデータを読み取り、イメージに変換し、逆のプロセスで表示します。
+0

「イメージをデータに変換」リンクが機能しません。再度リンクを投稿してください... –

+0

ファイルの場所に複数のイメージを保存できますか?また、どのイメージをロードするかを選択するにはどうすればよいですか?ありがとう –

0

使用UIImagePickerControllerクラスと、それはイメージピッカービューのデリゲートのデリゲートメソッドがあり

を委任実装

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

あなたは、フォトライブラリから画像を選択したり、写真を撮るときに、このメソッドが呼び出されますされカメラから。あなたの画像をコアデータベースに保存すると良いですし、あなたのアプリでしか見ることができません。

0

私はこの考えがあなたに役立つかもしれないと思います。 SQLIteのようなアプリケーションを作成することができます。アプリ内に画像を保存することができます。問題はあなたのアプリに保存して他の人から安全なものにしておくことです。画像ギャラリーから手動で削除する必要があります

0

画像をDocuments Directoryに保存し、そこから読み取ることをお勧めしますアプリコンテンツを格納するための適切な場所。ドキュメントディレクトリからドキュメントディレクトリへ


画像保存が

-(void)saveImage:(UIImage *)image withFileName:(NSString *)imageName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath { 
    if ([[extension lowercaseString] isEqualToString:@"png"]) { 
     [UIImagePNGRepresentation(image) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", imageName, @"png"]] options:NSAtomicWrite error:nil]; 
    } else if ([[extension lowercaseString] isEqualToString:@"jpg"] || [[extension lowercaseString] isEqualToString:@"jpeg"]) { 
     [UIImageJPEGRepresentation(image, 1.0) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", imageName, @"jpg"]] options:NSAtomicWrite error:nil]; 
    } else { 
     NSLog(@"Image Save Failed\nExtension: (%@) is not recognized, use (PNG/JPG)", extension); 
    } 
} 

ロードイメージ

-(UIImage *)loadImage:(NSString *)fileName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath { 
    UIImage * result = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.%@", directoryPath, fileName, extension]]; 
    return result; 
} 

01ハウツー