Hatena::ブログ(Diary)

日記

2012-12-15

Sublime Text 2 でアニメーションGIFを再生する

この記事は Sublime Text 2 Advent Calendar 2012 の 15日目です。

no title

VimはXPM形式の画像ファイルを画像として表示することができます。これは、テキストエディタシンタックスハイライトを利用して、1文字を1ピクセルとみなして描画することで実現しています。

そして Sublime Text 2 でも当然、同じ方法で画像を表示することが出来ます。今回はさらにアニメーションGIFを再生してみました。

再生時の動画

以下のGIF動画は実際に再生しているところを録画したものです。nyancat の動画を再生しています。nyancat をご存知の方も多いでしょう。

f:id:chikatoike:20121215231218g:image

アニメーションGIFを再生する手順は以下の通りです。 上の動画は手順2から録画しています。

  1. 後述するパッケージ(SublimeMediaPlayer)を導入する
  2. コマンドパレットで "MediaPlayer: Play GIF Select" を選択する
  3. 画面下部にテキストボックスが表示されるので、再生したいGIFファイルのパスを入力してEnterを押す
  4. しばらく待つと再生が始まります。
  5. アニメーションを終了するには再生しているタブを閉じてください。

nyancatのアニメーションGIFはパッケージに同梱していないので、 セキュリティチェックが必要です から入手してください。

パッケージ 「SublimeMediaPlayer」

no title

SublimeMediaPlayer は上記のURLにあるので、 git clone するなり zip で落すなりしてインストールしてください。

急いで作ったのでけっこうひどいコードです。

今のところアニメーションGIFの再生しかできませんが、時間がなかっただけで、jpegpngといった静止画の表示も技術的には可能です。

GIFアニメーションを読み込むために pyglet というライブラリを使っています。

また、 "MediaPlayer: Play GIF Select" 以外に、"MediaPlayer: Play GIF dinosaur.gif" というコマンドも用意していて、これはリポジトリに同梱している dinosaur.gif を再生します。このgifファイルはpygletリポジトリにあったものです。

対応するプラットフォーム

pygletWindows/MacOSX/Linux に対応しているので、全てのプラットフォームで動作すると考えられますが、Windowsでしか動作確認していません。

おわりに

明日のSublime Text 2 Advent Calendar は yudai tachibana さんです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/chikatoike/20121215/1355583535