0

ユーザーがカメラで撮影した画像を保存しようとしています

1) UIImageWriteToSavedPhotosAlbum を使用すると、必要なファイル名を割り当てることができないようです。どうやってファイル名を選べますか?
このオプションを使用することの良い点は
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
、フォト ライブラリ ディレクトリのサムネイル ギャラリーが表示されることです。

2) 次の質問に進み
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
ます。自分の個人用ディレクトリから画像を取得するために使用できますか?

3) フォト ライブラリ内にサブ フォルダをプログラムで作成する方法はありますか

4) 最後に、

NSArray  *paths    = NSSearchPathForDirectoriesInDomains(NSPicturesDirectory, NSUserDomainMask, YES);
if (![[NSFileManager defaultManager] fileExistsAtPath:[paths objectAtIndex:0] isDirectory:&isDir]) {
        NSError  *error;
        [[NSFileManager defaultManager] createDirectoryAtPath:[paths objectAtIndex:0 withIntermediateDirectories:YES attributes:nil error:&error];
}


NSPicturesDirectory が存在するかどうかを確認して書き込みできるようにすると、Cocoa エラー 513 が許可されません

前もって感謝します

4

2 に答える 2

5

フォト ライブラリの画像にファイル名を割り当てることはできません。ios は、アセット urlというファイル名をフォト ライブラリに保存される画像に割り当てますが、これを変更することはできません。

画像をフォト ライブラリに保存する必要がある場合は、ALAssetsLibrary を使用できます。

    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
   [library writeImageToSavedPhotosAlbum:[image CGImage] orientation:(ALAssetOrientation)     [image imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){
    if (error)
    {
     // Eror
    }
    else
    {
     // Success
    }
   }];
   [library release];

詳細については、次を確認してください: iPhone フォト ライブラリに写真を保存する方法は?

UIImageView の画像を iPad フォト ライブラリに保存する

于 2012-06-18T20:33:14.513 に答える
2

1.)

選択したファイル名を保存するには、画像をドキュメントディレクトリに保存する必要があります。これは次のように簡単に行うことができます。

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo 
{
    NSString *current = [NSString stringWithFormat:@"%@/%@",PHOTODATA_PATH,currentItem];

    UIGraphicsBeginImageContext(CGSizeMake(160,160));
    [image drawInRect:CGRectMake(0,0,160,160)];
    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    NSData * thumbSize = UIImageJPEGRepresentation(scaledImage, 1.0);
    [thumbSize writeToFile:[NSString stringWithFormat:@"%@_thumb.jpg",current] atomically:YES];

    NSData * fullSize = UIImageJPEGRepresentation(image, 1.0);
    [fullSize writeToFile:[NSString stringWithFormat:@"%@.jpg",current] atomically:YES];

    [self dismissModalViewControllerAnimated:YES];
}

もちろん、このコードは正確な状況に合わせて編集する必要があるかもしれませんが、を使用して写真をファイルに保存するための基本的な理解と方法を提供しますNSData

2.)

はい、UIImagePickerControllerSourceTypePhotoLibraryデバイスのフォトライブラリにアクセスします。カメラロールから保存または撮影された写真には、これを使用してアクセスできます。

3.)

いいえ、アプリケーションを使用してフォトライブラリにサブフォルダを作成することはできません。これは、iPhotoやiTunesなどを使用して実行できます。

4.)

サンドボックス環境に含まれるパスDocumentsとパスにのみアクセスできます。Library写真をフォトライブラリに保存する唯一の方法は、適切なパブリックメソッドを使用することです。ディレクトリが存在するかどうかを確認する必要はありません。OSは、フォトライブラリを管理するために必要なすべての「舞台裏」タスクを処理します。

于 2012-06-18T20:22:51.603 に答える