迭代整个相机胶卷,打开每张照片并调整其大小的最有效方法是什么?
我天真地尝试迭代资产库并获得defaultRepresentation
结果,每4张图片花费约1秒(iPhone 5)。有没有办法做得更好?
我需要调整大小的图像来进行某种处理。
答案 0 :(得分:0)
调整全分辨率照片的大小是相当昂贵的操作。但您可以使用已调整大小的图像来分辨屏幕:
ALAsset *result = // .. do not forget to initialize it
ALAssetRepresentation *rawImage = [result defaultRepresentation];
UIImage *image = [UIImage imageWithCGImage:rawImage.fullScreenImage];
如果您需要其他分辨率,您仍然可以使用'fullScreenImage',因为它的尺寸小于原始照片。
- (CGImageRef)fullScreenImage
返回适合的表示形式的CGImage 全屏显示。图像的尺寸取决于 您的应用程序运行的设备;尺寸可能没有, 但是,完全匹配屏幕的尺寸。
在iOS 5及更高版本中,此方法返回完全裁剪,旋转和 调整后的图像 - 与用户在照片或图像中看到的完全相同 选择器。
返回适合的表示形式的CGImage 显示全屏,如果CGImage表示不能,则显示NULL 生成。