我已经编写this gist来转换从this incredible site下载的gif数据,然后将其转换为可与MPMoviePlayerController一起播放的mp4。
问题是,我必须下载整个gif,然后开始转换。我希望转换为我获取数据并且我相信,但无法确认,通过传递- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
返回的数据,可能CGImageSourceCreateIncremental。
有没有人尝试过这个或知道一个例子?
答案 0 :(得分:1)
我知道增量适用于jpegs和pngs。它的编码稍微复杂,但你应该能够在这里或Apple的网站上找到示例代码。无法知道它将用GIF动画做什么。如果它不能满足您的需求,您肯定可以找到一个开源的libgif库,您显然需要将其移植到iOS。我在一个项目中使用了libjpeg turbo来获得JPEG的增量解码。
您引用的Quartz方法的一个问题是它总是从图像开始逐步解码。因此,如果你像我一样拥有一个非常大的图像,随着下载的大小增加,每个增量图像请求所需的时间越长。我实际上在这上面烧了一个DTS事件 - 苹果工程师同意如果他们缓存中间图像会很好,所以每个请求都会建立在最后一个图像上,但现在不是。