我尝试允许用户使用ALAssetsLibrary
从照片集中提取图像。然后,用户可以上传这些图像。我的目标是允许用户上传他们在库中可能拥有的任何GIF,而不会丢失他们可能拥有的任何动画。
对于PNG和JPEG文件,我可以抓取ALAssetRepresentation
,使用 - (CGImageRef)fullResolutionImage
获取CGImageRef
,然后使用UIImageJPEGRepresentation
或{{1}将其保存到NSData }}。
但是,由于GIF文件不存在类似的功能,我所能做的只是将GIF转换为JPEG或PNG,但后来我丢失了动画。
有吗
直接从UIImagePNGRepresentation
对象或
从ALAssetRepresentation
开始的方式 - > ALAssetRepresentation
- > CGImageRef
没有丢失任何gif动画帧?
提前致谢!
答案 0 :(得分:0)
是的,有一种非常简单的方法:
使用getBytes:fromOffset:length:error:ALAssetRepresentation的方法。这为您提供了ALAsset的原始文件数据,在您的情况下为GIF文件。