iOS用のアニメーションgifライブラリYAPGif作った

iOSでアニメーションgifをアニメーション付きのUIImageに変換したり、 複数のUIImageからアニメーションGifを作ったりできるようにライブラリ作りました。

https://github.com/amacou/YAPGif

下準備

//YAPGif.hとYAPGif.mをプロジェクトに突っ込んでimportする
#import "YAPGif.h"

UIImageからgifを作る

NSArray *images = @[[UIImage imageNamed:@"foo"],[UIImage imageNamed:@"bar"]];
YAPGif *gif = [[YAPGif alloc] initWithImages:images];

//画像の表示時間を調整
//デフォルト は 0.06f
gif.deley = [NSNumber numberWithFloat:0.1f];//自動でsecondsも計算します

//もしくは画像の表示時間を調整
gif.seconds = [NSNumber numberWithFloat:3.0f];//自動でdeleyを計算します

//NSDataに変換
NSData *data = gif.data;

//もしくは直接ファイルにエクスポートする
[gif exportWithPath:@"somewhere/animation.gif"];

gifからアニメーション付きのUIImageを作る

NSData *gifData = [NSData dataWithContentsOfFile:@"path to gif"];
YAPGif *gif = [[YAPGif alloc] initWithGifData:gifData];

//UIimageを作成
UIImage *image = gif.image;

//UIImageViewとかで表示
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

機能はあんまりないけどとりあえずはこんなもんで。