2011-11-10 48 views
20

Liên quan đến câu hỏi trước của tôi here.Tải hình ảnh vào UIImage từ đường dẫn tệp đến thư viện nội dung

Tôi có một đường dẫn đến một hình ảnh trong thư viện nội dung, ví dụ:

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

Bây giờ, làm thế nào tôi có thể tải hình ảnh từ con đường này đến một đối tượng UIImage?

Đây là mã:

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]; 
} 

Trả lời

18

từ câu trả lời liên quan trong nhận xét của tôi trên:

-(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

Hãy thử như sau: (UIImage *)imageWithContentsOfFile:(NSString *)path

0

Bạn cũng có thể sử dụng [myasset aspectRatioThumbnail] để có được của bạn hình ảnh.

Các vấn đề liên quan