我有一個UIImage,它是一個GIF文件。將UIImage轉換爲NSData但保留爲GIF文件
我需要使它成爲一個NSData對象。 但它需要保留一個GIF,所以我不能使用UIImageJPEGRepresentation。
任何想法?
我有一個UIImage,它是一個GIF文件。將UIImage轉換爲NSData但保留爲GIF文件
我需要使它成爲一個NSData對象。 但它需要保留一個GIF,所以我不能使用UIImageJPEGRepresentation。
任何想法?
我面對你提到的同樣的問題,這是我用來保存GIF動畫,以便照片不失動畫代碼:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSData *data = [NSData dataWithContentsOfURL:[self getCurrentGIFURL]];
[library writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {}
基本上,如果你從URL或直接從文件保存GIF作爲NSData
對象,而不是使它成爲一個UIImage
,它會保持動畫。
可以請你提供swift版本嗎? –
如果知道文件路徑,可以直接將它加載到NSData *中。如:
NSData *gifData = [NSData dataWithContentsOfFile:@"myCoolPic.gif"];
這是真的,但它不是很容易悲傷......我無法訪問該文件。 – Cocoadelica
那麼你是如何獲得圖像呢? – darksky
咦?無法訪問該文件絕對不會阻止您將其加載到NSData中......除了查看它,使用它,操作它,以及......做幾乎所有的事情。 – Zigglzworth
一旦它的一個UIImage,它不是一個GIF了。它已經被解釋爲一個核心圖形圖像對象,包裹在UIImage的UIKit飾品中。你沒有一個「是GIF」的UIImage。它可能只有一次,但那段時間已經過去了。
如果你正在下載這個東西(我通過你的評論假設「我沒有訪問該文件」),那麼你應該下載它作爲數據,並保存爲數據,如果你做了一個基於這些數據的UIImage,你可能需要保持數據。 (這完全是猜測,因爲你會滴滴答滴地滴滴答滴地提出你的問題的細節,如果你能夠在更大的氣息中說出你想要達成的目標,我們或許可以幫助更好。)
降落在這裏尋找別的東西,但這恰恰回答了我的問題。謝謝 –
你的意思是「它需要保持GIF格式」對不對? – Zigglzworth
相關問題[如何在iPhone上保存GIF?](http://stackoverflow.com/questions/1851103/how-to-save-a-gif-on-the-iphone) – Sam