2012-11-23 47 views
5

我寫了this gist轉換從this incredible site下載的gif數據,並將其轉換爲MPMoviePlayerController可播放的mp4。實時gif解碼的樂趣

問題是,我必須下載整個gif,然後開始轉換。我想在獲取數據時進行轉換,我相信但無法證實,通過傳入由- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data返回的數據,可能會得到CGImageSourceCreateIncremental

有沒有人試過這個或知道一個例子?

+0

+1。你在現場。 – CodaFi

+0

哦,我的朋友,沒有任何的快樂... – MCKapur

+0

@RohanKapur一些態度... –

回答

1

我知道jpegs和pngs的漸進式作品。它的編碼有點複雜,但你應該可以在這裏或Apple的網站上找到示例代碼。沒辦法知道它會用動畫gif做什麼。如果它不能滿足你的需求,你肯定可以找到一個開源的libgif庫,你很明顯需要移植到iOS。我在一個項目中使用了libjpeg turbo來獲得對JPEG的增量解碼。

你引用的Quartz方法的一個問題是它總是從圖像開始逐步解碼。因此,如果您像我一樣擁有非常大的圖像,隨着下載量的增加,每次增量圖像請求所需的時間越長。我實際上已經燒燬了DTS事件 - 蘋果公司工程師同意,如果他們緩存中間圖像,這樣每個請求都會建立在最後一張圖像上,但他們現在不會。