簡単なアニメーションGIFを作るサンプル
RMagickを使って簡単なアニメーションGIFを作るサンプルです。基本的な手順としては
- Magick::ImageListのインスタンスを作成
- ImageListにアニメーションのフレームとなる画像を追加。
- 後は「ImageList.write」でリストをgif形式で保存すれば、アニメーションGIFの出来上がり。簡単!
require 'rubygems' require 'RMagick' # 元画像 imgs = Magick::Image.read("./user.jpg") img = imgs.first # イメージリストを作成 list = Magick::ImageList.new # アニメーションの各フレームを追加。 -10.upto(10) {|i| tmp = i != 0 ? img.motion_blur( 0, i*i, 0) : img list.push tmp } # フレーム間の待ち時間を1/100秒単位で指定。 # 4であれば 25fpsになるはず。 list.delay = 4 #イメージリストを書き出す。 #→拡張子をgifにするとアニメーションGIFになる。 list.write( "./animation.gif" )