用ALAsset获取相册原图

最近在用ALAsset获取相册时候,ALAsset的ALAssetRepresentation只提供了全尺寸图、全屏幕图、metadata等,但是将这些转换成NSData的时候,尺寸都不精确,不是变大了就是变小了。后来一想,不如直接由ALAsset转换成NSData,再由NSData转换成UIImage,后来一试试,真的可以了,而且图片的尺寸还是原来的尺寸。下面把代码贴上

//得到原图数据,即大小为实际大小,直接fullResolutionImage这个全尺寸图片的方法,会使图片变大​
ALAssetRepresentation *image_representation = [asset defaultRepresentation];
uint8_t buffer = (Byte)malloc(image_representation.size);
NSUInteger length = [image_representation getBytes:buffer fromOffset: 0.0 length:image_representation.size error:nil];

        if (length != 0)  {
            NSData *adata = [[NSData alloc] initWithBytesNoCopy:buffer length:image_representation.size freeWhenDone:YES];
            tempImg = [UIImage imageWithData:adata];
        }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值