Help us understand the problem. What is going on with this article?

Processing 3でGIFアニメを作って保存する方法

More than 3 years have passed since last update.

ジフジフジッフー!

最近個人的にProcessingにハマってます。面白いですよね、ジェネラティブ・アート。

作ったスケッチはやっぱりGIFアニメで保存して、サイトなどに載せたいですよね。スケッチをGIFアニメにできる「gifAnimation」というライブラリがあります。Processing 2以下までにしか対応してないと思ってたら、サラッとProcessing 3以上対応ver.がありました。

ダウンロードとインストール

extrapixel/gif-animation at 3.0

  • 3.0ブランチにて「Download ZIP」からファイル一式をダウンロードします
  • Zipを解凍して、gifAnimationフォルダを、~/Documents/Processing/libraries/にコピーします
  • 完了

GIFアニメの作成方法

// gifAnimationライブラリを読み込む
import gifAnimation.*;

// GifMakerクラスを呼ぶ
GifMaker gifExport;

void setup(){
  // いつも書いてるもろもろのコード
  frameRate(50); // 50fpsでアニメーションする

  // GIFアニメ出力の設定
  gifExport = new GifMaker(this, "export.gif"); // GifMakerオブジェクトを作る、第2引数にファイル名
  gifExport.setRepeat(0); // エンドレス再生
  gifExport.setQuality(10); // クオリティ(デフォルト10)
  gifExport.setDelay(20); // アニメーションの間隔を20ms(50fps)に
}

void draw(){
  // いつも書いてるもろもろのコード

  // GIFアニメ出力用のコード
  // 50fps * 3、つまり丸3秒録画する
  if(frameCount <= 50*3){
    gifExport.addFrame(); // フレームを追加
  } else {
    gifExport.finish(); // 終了してファイル保存
  }
}

だいたいこんな感じです。こんな感じで録画したのが、一番上に貼っているGIFです。リサイズやファイルサイズ調整はPhotoshopでやってますが。

ちなみに、録画中はアニメーションの再生がめちゃくちゃ遅くなります。保存されるGIFアニメ自体は設定した通りの速度です。

その他のメソッドなどはこちらにあります。

みんなもスケッチをGIFアニメで保存して公開しよう!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away