ALAssetRepresentation为GIF的NSData

时间:2010-09-26 01:30:42

标签: iphone ipad ios4 nsdata

我尝试允许用户使用ALAssetsLibrary从照片集中提取图像。然后,用户可以上传这些图像。我的目标是允许用户上传他们在库中可能拥有的任何GIF,而不会丢失他们可能拥有的任何动画。

对于PNG和JPEG文件,我可以抓取ALAssetRepresentation,使用 - (CGImageRef)fullResolutionImage获取CGImageRef,然后使用UIImageJPEGRepresentation或{{1}将其保存到NSData }}。

但是,由于GIF文件不存在类似的功能,我所能做的只是将GIF转换为JPEG或PNG,但后来我丢失了动画。

有吗

  1. 直接从UIImagePNGRepresentation对象或

  2. 获取NSData的方法
  3. ALAssetRepresentation开始的方式 - > ALAssetRepresentation - > CGImageRef没有丢失任何gif动画帧?

  4. 提前致谢!

1 个答案:

答案 0 :(得分:0)

是的,有一种非常简单的方法:

使用getBytes:fromOffset:length:error:ALAssetRepresentation的方法。这为您提供了ALAsset的原始文件数据,在您的情况下为GIF文件。