我有问题,我使用Photo框架,当我这样做时(图片是NSMutableArray):
[[PHImageManager defaultManager]requestImageForAsset:lastAsset targetSize:CGSizeMake(150, 300) contentMode:PHImageContentModeAspectFit options:nil resultHandler:^(UIImage *result, NSDictionary *info) {
[images addObject:result];
NSLog(@"%@ %@ %@",result,[images objectAtIndex:0],[images lastObject]);
}];
我在控制台中获得了UIImages大小的结果:
700,700 60,40 700,700
我不明白为什么,当我添加一个名为"图像"的NSMutableArray的图像时:
view.image = [images objectAtIndex:index];
我的所有图像质量非常差(我认为它们都存储在我的图像NSMutableArray中的60,40)。 或者我想以原始质量(700,700而非60,40)恢复这些论文,以便以优质的方式展示论文。
非常感谢大家!!
答案 0 :(得分:1)
我找到了解决问题的方法。
解决方案是添加此选项:
PHImageRequestOptions* options = [[PHImageRequestOptions alloc]init];
options.resizeMode = PHImageRequestOptionsResizeModeExact;
options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
options.version = PHImageRequestOptionsVersionUnadjusted;
options.synchronous = YES;
根据我的要求。
我们可以看到deliveryMode对于保持良好的图像质量非常重要。
感谢大家的帮助!