假设您有 Asset URL,例如 assets-library://asset/asset.JPG?id=1000000477&ext=JPG:
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
{
// [[myasset defaultRepresentation] fullResolutionImage]
// is a CGImageRef so you can process it like you would any CGImageRef to save to disk, resize, etc.
NSURL *urlPath = [[NSURL fileURLWithPath:[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]] URLByAppendingPathComponent:@"somefile.png"];
CGImageDestinationRef ref = CGImageDestinationCreateWithURL((CFURLRef)urlPath, kUTTypePNG, 1, NULL);
CGImageDestinationAddImage(ref, (CGImageRef)[[myasset defaultRepresentation] fullResolutionImage], NULL);
NSDictionary *props = [[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat:1.0], kCGImageDestinationLossyCompressionQuality,
nil] retain];
CGImageDestinationSetProperties(ref, (CFDictionaryRef) props);
CGImageDestinationFinalize(ref);
CFRelease(ref);
};
NSURL *asseturl = [NSURL URLWithString:mediaurl];
ALAssetsLibrary* assetslibrary = [[[ALAssetsLibrary alloc] init] autorelease];
NSString *asseturl = @"assets-library://asset/asset.JPG?id=1000000477&ext=JPG";
[assetslibrary assetForURL:asseturl
resultBlock:resultblock
failureBlock:^(NSError *error) {
NSLog(@"error couldn't get photo");
}];