现在的位置: 首页 > 综合 > 正文

imagepick返回的asseturl获取图片数据

2013年04月27日 ⁄ 综合 ⁄ 共 1089字 ⁄ 字号 评论关闭
- (void)imagePickerController:(UIImagePickerController *)picker   didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [picker dismissModalViewControllerAnimated:NO];
	NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
	NSLog(@"media type = %@",mediaType);
    NSLog(@"media info = %@",info);
	if([mediaType isEqualToString:@"public.image"])
    {
		NSURL *imgurl = [info objectForKey:UIImagePickerControllerReferenceURL];
		ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init];
        [assetLibrary assetForURL:imgurl resultBlock:^(ALAsset *asset)
         {
             ALAssetRepresentation *rep = [asset defaultRepresentation];
             Byte *buffer = (Byte*)malloc(rep.size);
             NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil];
             NSData *data = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];//this is NSData may be what you want
             UIImageView *imageview = [[UIImageView alloc] init];
             imageview.frame = CGRectMake(0, 200, 100, 100);
             imageview.image = [UIImage imageWithData:data];
             imageview.backgroundColor = [UIColor greenColor];
             [self.view addSubview:imageview];
         }
        failureBlock:^(NSError *err) {
            NSLog(@"Error: %@",[err localizedDescription]);
        }]; 
	}
}

抱歉!评论已关闭.