2010-09-26 27 views
2

我嘗試允許用戶使用ALAssetsLibrary從其照片集合中拉出圖像。用戶然後可以上傳這些圖像。我的目標是允許用戶上傳任何他們可能在他們的圖書館中沒有任何動畫的GIF。ALAsset作爲NSData的GIF代表

對於PNG和JPEG文件,我可以搶ALAssetRepresentation,使用 - (CGImageRef)fullResolutionImage獲得CGImageRef,然後使用UIImageJPEGRepresentationUIImagePNGRepresentation其保存到NSData的。

但是,由於GIF文件沒有類似的功能,我只能將GIF轉換爲JPEG或PNG格式,但後來我失去了動畫。

是否有任何

  1. 的方式從一個ALAssetRepresentation對象或

  2. 直搶NSData的方式從ALAssetRepresentation去 - >CGImageRef - >NSData沒有失去任何GIF動畫幀?

在此先感謝!

回答

0

是的,有一個很簡單的辦法:

需要使用getBytes:fromOffset:長度:錯誤:ALAssetRepresentation的方法。這會爲您提供ALAsset的原始文件數據,在您的情況下爲GIF文件。