パワポを使ってアニメーションgifを作る


まずは完成品から

どうやって作るのか?

パワポを使ってとは言うものの、実際にアニメーションgifを作るのは、ImageMagickです。Windows版と、Mac,Linux版とではコマンド名が違うので、適宜読み替えてください。以下のステップです。

  1. パワポで連番のgifを作る
  2. ImageMagickで、連番のgifからアニメーションgifを作る

パワポでの準備

スライドを書いていく

普通にスライドに文字を書いていきます。「ルパン オープニング アニメーションgif」などで検索すると自動的に作ってくれるWebサービスもあるのですが、特定のフォントや長体を使いたいときには、Officeを使うのが楽ちんです。PowerPointの書式に長体はないのですが、テキストBOXをコピー→形式を選択して貼り付け→PDF、を選ぶと、画像と同じ扱いになるので、縦横の変形が可能になります。

止めたいコマは複数にすることで、コマ送りのスピードを変えることができます。

マクロを埋め込む

パワーポイントには、基本機能としてgifファイルへのエクスポート機能があります。しかしながら、ファイル名が、「スライド1.gif」のようになっているので、ページ数が増えると、「スライド11.gif」が「スライド9.gif」よりもファイル名が逆順になり、あとでアニメーションgifにするのに不便です。そこで、VBAで、昇順ファイル名に出力ができるような機能を加えます。

以下のVBAをパワポドキュメントに埋め込んで実行します。マクロも保存するなら、pptm形式で保存するのがおすすめです。

Sub exportGif()
    Dim sld As Slide
    Dim cnt As Integer
    Dim strDir As String
    Dim strFileName As String

    ' output dir is hard-coded
    strDir = Application.ActivePresentation.Path & "/gif/"

    cnt = 0
    For Each sld In Application.ActivePresentation.Slides
        cnt = cnt + 1
        strFileName = "slide" & Format(cnt, "000") & ".gif"
        sld.Export strDir & strFileName, "gif", 720, 498
    Next
End Sub

このマクロを実行すると、連番で同階層のgifというフォルダに、gifファイルが作成されます。

ImageMagicでgifファイルを結合

gifファイルがあるフォルダで以下のコマンドを実行します。

convert -loop 0 -delay 20 slide*.gif anime.gif

MacでImageMagickを実行するときには、convertコマンドを使いますが、Windowsは適宜読み替えてください。

以下引数の説明

  • loop はループするかどうか。0がループする設定。1がloopしないけど、Twitterに投稿すると結局はループしちゃうので、gifアニメーションはループする前提で作った方がいい
  • delay は、1コマの時間。適当に増減させてくだい
  • 入力ファイルは連番の部分をアスタリスクにすることで、複数ファイル名を指定可能。

用途

TWitterはアニメーションgifに対応しているので、伝えたいことをアニメーションgifにすると暑苦しい演出が可能になります。