Sublime Text 2 でアニメーションGIFを再生する
この記事は Sublime Text 2 Advent Calendar 2012 の 15日目です。
Sublime Text 2 Advent Calendar 2012 - Adventar
VimはXPM形式の画像ファイルを画像として表示することができます。これは、テキストエディタのシンタックスハイライトを利用して、1文字を1ピクセルとみなして描画することで実現しています。
そして Sublime Text 2 でも当然、同じ方法で画像を表示することが出来ます。今回はさらにアニメーションGIFを再生してみました。
再生時の動画
以下のGIF動画は実際に再生しているところを録画したものです。nyancat の動画を再生しています。nyancat をご存知の方も多いでしょう。
アニメーションGIFを再生する手順は以下の通りです。 上の動画は手順2から録画しています。
- 後述するパッケージ(SublimeMediaPlayer)を導入する
- コマンドパレットで "MediaPlayer: Play GIF Select" を選択する
- 画面下部にテキストボックスが表示されるので、再生したいGIFファイルのパスを入力してEnterを押す
- しばらく待つと再生が始まります。
- アニメーションを終了するには再生しているタブを閉じてください。
nyancatのアニメーションGIFはパッケージに同梱していないので、 LOL Comics - ホーム | Facebook から入手してください。
パッケージ 「SublimeMediaPlayer」
GitHub - chikatoike/SublimeMediaPlayer
SublimeMediaPlayer は上記のURLにあるので、 git clone するなり zip で落すなりしてインストールしてください。
急いで作ったのでけっこうひどいコードです。
今のところアニメーションGIFの再生しかできませんが、時間がなかっただけで、jpegやpngといった静止画の表示も技術的には可能です。
GIFアニメーションを読み込むために pyglet というライブラリを使っています。
また、 "MediaPlayer: Play GIF Select" 以外に、"MediaPlayer: Play GIF dinosaur.gif" というコマンドも用意していて、これはリポジトリに同梱している dinosaur.gif を再生します。このgifファイルはpygletのリポジトリにあったものです。
おわりに
明日のSublime Text 2 Advent Calendar は yudai tachibana さんです。