ずん子フォトtips (アニメーションgif)

9
ずん子フォト Tips KyasuSoft 2014/8

Upload: keietsu-yasuhara

Post on 18-Nov-2014

187 views

Category:

Software


2 download

DESCRIPTION

ImagoIO.frameworkで作ったアニメーションGIFをTwitterで投稿するTips

TRANSCRIPT

Page 1: ずん子フォトTips (アニメーションGIF)

ずん子フォト Tips

KyasuSoft 2014/8

Page 2: ずん子フォトTips (アニメーションGIF)

アニメGIFをTwitterに投稿

七夕のリアル ずん子さん!

2

東北ずん子って? http://zunko.jp

Page 3: ずん子フォトTips (アニメーションGIF)

ImageIOで作ったアニメーションGIFをTwitterに投稿できるようにする

• iOS 4以降では、ImageIO.frameworkでアニメーションGIFを結構簡単に作成できます

!

• iOS で ImageIO を使ってアニメーションGIFファイルを生成してみる

http://akisute.com/2011/08/ios-imageio-gif.html

Page 4: ずん子フォトTips (アニメーションGIF)

ところが!

Page 5: ずん子フォトTips (アニメーションGIF)

• ImageIOで作成したアニメーションGIFをTwitterアプリで投稿しようとすると静止画としてしか認識してくれません。

Page 6: ずん子フォトTips (アニメーションGIF)

えっ!なんで??

ImageIOで作っても ブラウザやメール添付では

ちゃんとアニメーションするやん!

Page 7: ずん子フォトTips (アニメーションGIF)

• 原因を調べたところ、ImageIOで作ったアニメーションGIFは、ヘッダーに"GIF87a"と設定されていました。

• アニメーションGIFは"GIF89a"で拡張されたため、Twitter側で"GIF89a"でないとアニメーションGIFと認識してくれないようです。

Page 8: ずん子フォトTips (アニメーションGIF)

• ImageIOで作ってもブラウザやメール添付ではちゃんとアニメーションするので、ちょっと強引ですがデータ内の"GIF87a"を"GIF89a"に書き換えてみたところ、Twitterアプリでも認識してくれるようになりました。

// ヘッダーの'7'を'9'に変更

NSMutableData *gif89aData = [NSMutableData dataWithData:gif87Data]; char gif89a = '9'; [gif89aData replaceBytesInRange:NSMakeRange(4, 1) withBytes:&gif89a];

Page 9: ずん子フォトTips (アニメーションGIF)

参考)

!

• iOS で ImageIO を使ってアニメーションGIFファイルを生成してみる

http://akisute.com/2011/08/ios-imageio-gif.html !!• GIFフォーマットの詳細 http://www.tohoho-web.com/wwwgif.htm#AnimatedGIF