2014-01-22 34 views
3

在回答问题“Generating custom thumbnail from ALAssetRepresentation” - 请参阅作者的blog post中描述了从ALAsset生成缩略图的便捷方式。从过滤应用的ALAsset获取缩略图的快速方法

我用这种方法唯一的问题是,它完全忽略了应用于图像的所有滤镜或红眼去除效果(比如iOS 7 Photo app +任何“方形”滤镜采用的效果)。

the code应如何调整以返回“过滤”缩略图?

P.S.我知道我可以通过fullScreenImage方法ALAssetRepresentation获得过滤图像,但速度太慢,可能会导致“由于内存压力而终止”错误。

+0

您获得的资产似乎是原始资产,其中包含一些关于修改的元数据。另请参阅:http://stackoverflow.com/questions/13305020/interpret-xmp-metadata-in-alassetrepresentation和http://stackoverflow.com/questions/11569137/how-do-you-get-the-cropped-version如果你想更容易地使用这个功能,我会建议提交一个雷达。 –

回答

1

缩略图是缩小尺寸的图片版本,用于帮助识别和组织它们,为图像提供与正常文本索引相同的作用。所以它通常不会应用所有的滤镜或图片效果,因为尺寸缩小的概念。

要获得应用过滤器或图片效果的ALAsset为fullResolutionImage

如果您在主线程上执行UI更新或使用延迟加载概念,它不会造成任何缓慢。

它不会导致任何内存压力,如果您保留ALAsset网址而不是存储fullResolutionImage

+0

感谢您的回复,但很可能您已将'fullResolutionImage'与'fullScreenImage'混淆了,因为前者会返回[未经任何调整](ALAssetRepresentation)的图像。无论如何,它似乎比'getBytes慢:...' – knuku

+0

UPD:意思是将链接粘贴到['ALAssetRepresentation'](https://developer.apple.com/library/ios/documentation/AssetsLibrary/Reference/ ALAssetRepresentation_Class/Reference/Reference.html)类参考,抱歉 – knuku