2011-11-10 14 views
20

relacionada con mi pregunta anterior here.Cargar una imagen a UIImage desde una ruta de archivo a la biblioteca de recursos

que tienen un camino a una imagen en la biblioteca de activos, por ejemplo:

assets-library://asset/asset.JPG?id=1000000001&ext=JPG 

Ahora, ¿cómo podría cargar la imagen de este camino a un objeto UIImage?

Aquí está el código:

NSString *path = [occasion imagePath]; 

//temp 
NSLog(@"the 2nd occasion imagePath is: %@", path); 
//end 

if (path != nil) 
{ 
    //UIImage *image = [UIImage imageNamed:path]; 
    UIImage *image = [UIImage imageWithContentsOfFile:path]; 

    image = [image imageByScalingAndCroppingForSize:CGSizeMake(36.0, 42.0)]; 
    [[cell imageView] setImage:image]; 
} 

Respuesta

18

de la respuesta vinculado en mi comentario anterior:

-(void)findLargeImage 
{ 
    NSString *mediaurl = [self.node valueForKey:kVMMediaURL]; 

    // 
    ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset) 
    { 
     ALAssetRepresentation *rep = [myasset defaultRepresentation]; 
     CGImageRef iref = [rep fullResolutionImage]; 
     if (iref) { 
      largeimage = [UIImage imageWithCGImage:iref]; 
      [largeimage retain]; 
     } 
    }; 

    // 
    ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror) 
    { 
     NSLog(@"booya, cant get image - %@",[myerror localizedDescription]); 
    }; 

    if(mediaurl && [mediaurl length] && ![[mediaurl pathExtension] isEqualToString:AUDIO_EXTENSION]) 
    { 
     [largeimage release]; 
     NSURL *asseturl = [NSURL URLWithString:mediaurl]; 
     ALAssetsLibrary* assetslibrary = [[[ALAssetsLibrary alloc] init] autorelease]; 
     [assetslibrary assetForURL:asseturl 
         resultBlock:resultblock 
         failureBlock:failureblock]; 
    } 
} 
12

Pruebe lo siguiente: (UIImage *)imageWithContentsOfFile:(NSString *)path

0

También puede utilizar [myasset aspectRatioThumbnail] para obtener su imagen.

Cuestiones relacionadas