統計情報(30日間)


最新情報をツイート

人気の投稿

アニメーションGIFをアニメーション付きのUIImage に変換するライブラリ

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



使い方は簡単でファイル名を渡すだけ。
UIImage* image = [UIImage animatedGIFNamed:@"ajax-loader"];

内部的には GIF内の画像を1枚づつ取り出して UIImage のアニメーションとして構成している。
NSDictionary* properties =
    (NSDictionary*)CGImageSourceCopyProperties(source, NULL);
    NSDictionary* gifProperties = [properties objectForKey:
       (NSString*)kCGImagePropertyGIFDictionary];
    [properties release];
    
    size_t count = CGImageSourceGetCount(source);
    NSMutableArray* images = [NSMutableArray array];
    
    for (size_t i = 0; i < count; i++) {
        CGImageRef image = CGImageSourceCreateImageAtIndex(source, i, NULL);
        
        [images addObject:[UIImage imageWithCGImage:image]];
        
        CGImageRelease(image);
    }
    
    NSTimeInterval duration = [[gifProperties objectForKey:
       (NSString*)kCGImagePropertyGIFDelayTime] doubleValue];
    if (!duration) {
        duration = (1.0f/10.0f)*count;
    }
    
    CFRelease(source);
また -animatedImageByScalingAndCroppingToSize: というメソッドが用意されていて、これを使うと縮小もできる。なかなか便利。 ちょっとしたコードだがウェイトアイコンなどを表示する時に役立ちそう。 関連情報 アイコンジェネレータサイト。サイト上でアニメーション GIFを作ってダウンロードできる。
試しに最初のサイトでアニメーションGIFを作り、LBGIFImageで表示させてみた。


問題なくアニメーション表示できた(静止画だと全然わからないが)。

Leave a Reply