統計情報(30日間)


最新情報をツイート


人気の投稿

Flipboard 謹製のパワフルなアニメーションGIF再生エンジン

このエントリーをはてなブックマークに追加

マルチで同時に再生可能、可変フレーム、省メモリといった特徴を備える強力な アニメーションGIF再生エンジン。



デモ。3つのアニメーションGIFが同時に再生される。

※githubより拝借


解説記事も出てる。


可変フレームの実現は最小単位の1コマを用意し、それをフレームの時間の分だけ並べる(継続する)ことで実現しているようだ。
例えば 15sで 5つのフレームで構成されるGIFアニメの場合

1コマ1秒として、それぞれのフレームごとに必要なコマを並べてやる。


ライブラリは2つのクラスから構成される。UIImageViewのサブクラスとUIImageにあたるモデルのクラス。
CADisplayLink使ってますな。ここのところアニメーションライブラリをいくつか見てきたけど大体使ってる。定番なんですね(無知)。

使い方はこんな感じ。簡単。
FLAnimatedImage *image = [[FLAnimatedImage alloc] initWithAnimatedGIFData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://raphaelschaad.com/static/nyan.gif"]]];
FLAnimatedImageView *imageView = [[FLAnimatedImageView alloc] init];
imageView.animatedImage = image;
imageView.frame = CGRectMake(0.0, 0.0, 100.0, 100.0);
[self.view addSubview:imageView];


iPad mini(非Retina)でデモを実行して Instrumentsでチェック。メモリはリアルで14M程度だが CPUは50-60%と高め。まあ3つも同時実行すればね。

- - - -
最近アプリでも初回起動時のカバーページでアニメーションを使うケースがちらほら出てきた。紹介やヘルプなどで使えそう。


MITライセンス

Leave a Reply