2016-10-21 6 views
-1

enter image description herenachdem Sie das Bild Kommissionierung wie in ios Bilder lokal speichern

, wenn ich das Bild einzufangen ich brauche Bilder eins nach dem anderen in der Tabellenansicht zu speichern, wie unten Bild .is benötigen nsuser Versäumnisse oder Verwendung Kerndaten verwenden? und nach das Bild Kommissionierung, wie Array

+0

Bild Gerade im Verzeichnis mit eindeutigen Namen speichern, speichern, die eindeutigen Namen in einem Array und Abrufen Bild aus dem Verzeichnis, zeigen in deiner Tabellenansicht. Wenn Sie antworten wollen, dann werde ich es –

+0

Wenn Sie Bilder in der Standard-Foto-Bibliothek speichern möchten, dann verwenden Sie .. https://stackoverflow.com/a/44328085/5315917 –

Antwort

0

Ja, können Sie die Bilder im Dokument-Verzeichnis speichern und die Bilddateinamen in eine halten Array danach, dass Bilder aus doc abrufen. Richt. genau so

// For error information 
    NSError *error; 
    NSFileManager *fileMgr = [NSFileManager defaultManager]; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder 
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/YOUR_IMG_FOLDER"]; 

    if (![fileMgr fileExistsAtPath:dataPath]) 
     [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder 

    //Get the current date and time and set as image name 
    NSDate *now = [NSDate date]; 

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    dateFormatter.dateFormat = @"yyyy-MM-dd_HH-mm-ss"; 
    [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]]; 
    NSString *gmtTime = [dateFormatter stringFromDate:now]; 
    NSLog(@"The Current Time is :%@", gmtTime); 

    NSData *imageData = UIImageJPEGRepresentation(_postImage, 0.5); // _postImage is your image file and you can use JPEG representation or PNG as your wish 
    int imgSize = imageData.length; 
    ////NSLog(@"SIZE OF IMAGE: %.2f Kb", (float)imgSize/1024); 

    NSString *imgfileName = [NSString stringWithFormat:@"%@%@", gmtTime, @".jpg"]; 
    // File we want to create in the documents directory 
    NSString *imgfilePath= [dataPath stringByAppendingPathComponent:imgfileName]; 
    // Write the file 
    [imageData writeToFile:imgfilePath atomically:YES]; 

    **// Keep your Image file name into an mutable array here OR you can saved the array in a UserDefaults** 

Dann aus doc abholen. Richt. Iterieren Sie das Array.

//Get image file from sand box using file name and file path 
NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"YOUR_IMG_FOLDER"]; 
stringPath = [stringPath stringByAppendingPathComponent:imgFile]; // imgFile to get from your array, where you saved those image file names 
UIImage *image = [UIImage imageWithContentsOfFile:stringPath]; 

Vielen Dank ... happy coding.

+0

danke für Antwort –

+0

können Sie erklären, bitte wenig Verwirrung, wie Bilder nacheinander hinzufügen Array wie Anzeige in Tabelle –

+0

Sie die Bilder erfassen oder vom Server bekommen ??? –

1

hinzufügen Sie Bild in NSUserDefaults speichern können wie folgt

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 
    if(!self.phto_arr_) 
    { 
    self.phto_arr_ = [[NSMutableArray alloc] init]; 
    } 
[self.phto_arr_ addObject: chosenImage]; 
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:self.phto_arr_]; 
[[NSUserDefaults standardUserDefaults] setObject: encodedObject forKey:@"images"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
[picker dismissViewControllerAnimated:YES completion:NULL]; 
} 
+0

Vielen Dank für die Wiederholung –

+0

Sie sind herzlich willkommen –

0

Versuchen unter diesem Code: auch diesen Code anzeigen verwenden : Angenommen, Sie mögen Bildnamen,

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 
    chosenImage = info[UIImagePickerControllerOriginalImage]; 
    chosenImage = [UIImage unrotateImage:chosenImage];  
    addGalleryImageview.image = chosenImage; 
    isCameraOn = YES;  
    NSString* fileName = [NSString stringWithFormat:@"gallery%@",[Utils getDateString]]; 
    imageNamelbl.text = fileName; 
    [picker dismissViewControllerAnimated:YES completion:NULL];} 


- (UIImage*)unrotateImage:(UIImage*)image{ 
    CGSize size = image.size; 
    UIGraphicsBeginImageContext(size); 
    [image drawInRect:CGRectMake(0,0,size.width ,size.height)]; 
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return newImage;} 
Verwandte Themen