Objective c 从assetsLibrary获取图像-全分辨率
我有一个图像相册,我从iphone库中提取所有图像作为缩略图,并展示一个相册 当用户从相册中选择内容时,我必须拍摄原始图像(而不是缩略图)并保存它 因此,如果我在资源上运行并仅保存缩略图,则需要4秒(1000张图像),但如果我尝试将原始大小保存到阵列(以便以后使用),则需要花费很长时间并崩溃Objective c 从assetsLibrary获取图像-全分辨率,objective-c,Objective C,我有一个图像相册,我从iphone库中提取所有图像作为缩略图,并展示一个相册 当用户从相册中选择内容时,我必须拍摄原始图像(而不是缩略图)并保存它 因此,如果我在资源上运行并仅保存缩略图,则需要4秒(1000张图像),但如果我尝试将原始大小保存到阵列(以便以后使用),则需要花费很长时间并崩溃 [group enumerateAssetsAtIndexes:set options:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUInteg
[group enumerateAssetsAtIndexes:set options:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop)
{
CGImageRef imageRef = result.defaultRepresentation.fullResolutionImage;
UIImage *toSend=[UIImage imageWithCGImage:imageRef];//original
UIImage *thumbnail = [UIImage imageWithCGImage:[result thumbnail]];
[assets addObject:thumbnail]; //works good
[imagesToSend addObject:toSend]; // takes forever !
因此,我需要一个解决方案,这样我可以显示缩略图,但也有一些连接/指向全分辨率图像的指针,这样就不会永远保存它们。我的解决方案就是使用2函数。第一个是这个,只是为了得到缩略图,因为它不需要时间,用户可以立即看到他的相册 稍后,当他选择他最喜欢的图像时,我再次使用此功能,但分辨率为全分辨率,只拍摄所需的相关图像,包括:
range=NSMakeRange('image tag number you want' ,1);
NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:range];
[group enumerateAssetsAtIndexes:set options:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop)
{
if (result != nil)
{
CGImageRef imageRef = result.defaultRepresentation.fullScreenImage;
UIImage *toSend=[UIImage imageWithCGImage:imageRef];