2010-02-15 10 views

Antwort

17

Kenny, du hattest die Antwort! Zur Veranschaulichung denke ich immer Code ist hilfreicher.

//I do this in the didFinishPickingImage:(UIImage *)img method 

NSData* imageData = UIImageJPEGRepresentation(img, 1.0); 


//save to the default 100Apple(Camera Roll) folder. 

[imageData writeToFile:@"/private/var/mobile/Media/DCIM/100APPLE/customImageFilename.jpg" atomically:NO]; 
+2

Eine Beispielspeicherung in den Dokumentenordner NSArray * paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString * DokumenteDirectory = [Pfade ObjektAtIndex: 0]; NSString * filePath2 = [NSString StringWithFormat: @ "% @ /% @. Jpg", DokumenteVerzeichnis, Dateiname]; NSData * imageData = UIImageJPEGRepräsentation (drawImage.image, 1.0); [imageData writeToFile: filePath2 atomar: NO]; –

+0

[imageData writeToFile: @ "/ privat/var/mobil/Media/DCIM/100APPLE/customImageFilename.jpg" atomar: NEIN]; Was ist dieser private/var/mobile Ordner? Ist dies ein Standard-Ort, um eine Datei in IOS zu schreiben? – user798719

+3

Die Frage ist, ob Apple eine App mit diesem Code erlaubt ... http://stackoverflow.com/questions/2884003/will-the-app-get-rejected-if-you-write-image-to-private -var-mobil-media-dcim-1? lq = 1 –

10

UIImageWriteToSavedPhotosAlbum() wird nur zum Speichern auf den Fotos verwendet. Um in einem benutzerdefinierten Ordner zu speichern, müssen Sie den UIImage in NSData mit UIImageJPEGRepresentation() oder UIImagePNGRepresentation() konvertieren, dann speichern Sie diese NSData an beliebiger Stelle.

+0

Kenny, danke. +1 – erastusnjuki

0

Sie unter Code verwenden können, ohne Verwendung von ALAssetsLibrary ...

NSString *fileName; 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
[picker dismissViewControllerAnimated:YES completion:^{ 

if([picker sourceType] == UIImagePickerControllerSourceTypeCamera) 
      { 
       UIImageWriteToSavedPhotosAlbum(image,nil, nil, nil); 
       [self performSelector:@selector(GetImageName) withObject:nil afterDelay:0.5]; 
      } 
      else 
      { 
       NSURL *refURL = [info valueForKey:UIImagePickerControllerReferenceURL]; 
       PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[refURL] options:nil]; 
       fileName = [[result firstObject] filename]; 
      } 
}]; 

-(void)GetImageName 
{ 
NSString *str [email protected]""; 
PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init]; 
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]]; 
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:fetchOptions]; 

if (fetchResult != nil && fetchResult.count > 0) { 

    str = [[fetchResult lastObject] filename]; 
} 

fileName = str; 
} 
Verwandte Themen