GIFフレームプレーヤー
GIFをアップロードして1フレームずつ再生し、逆方向のプレビュー、遅延時間を確認して、現在の合成フレームをPNGで保存します。
GIFファイルと再生設定
ブラウザ内で処理- ファイル名
- —
- ファイルサイズ
- —
現在のフレームとタイムライン
ファイル待ちファイルを選ぶと、合成フレームとフレームのタイムラインを表示します。
- 論理サイズ
- —
- 1ループの時間
- —
- ループ情報
- —
- Disposal方式
- —
GIFファイルを選んで開始してください。
GIFフレームの復元方法
- 構造を読むGIFのバージョン、論理キャンバス、パレット、拡張ブロックを確認します。
- ピクセルをデコードLZWの規則に従って各画像ブロックの色インデックスを展開します。
- 完全なフレームを合成透明色、フレーム位置、disposal方式を使って見えるキャンバスを組み立てます。
- 再生を制御元の遅延または均一な遅延でタイムラインを動かし、フレーム移動にも対応します。
詳しく見る
使い方とキーボードショートカット
- GIFを選ぶかドロップし、ブラウザ内の解析が終わるまで待ちます。
- 方向、タイミング、タイムライン、フレーム番号で見たいフレームを探します。
- 現在の合成フレームをPNGで保存するか、フレーム情報をコピーします。
フォームコントロールの外にフォーカスがあるとき、Spaceで再生・一時停止、矢印キーでフレーム移動、Home/Endで最初・最後のフレームへ移動できます。
フレーム遅延とdisposal
GIFは100分の1秒単位で遅延を保存します。宣言された値が0なら表示は0msですが、再生には100msを使います。1〜19msは20msで再生します。
Disposalは次のフレームを描く前に、現在のフレーム領域を残すか、背景へ戻すか、前のキャンバスへ戻すかを指定します。PNGには合成済みの論理キャンバス全体を使います。
形式の制限と例外
- GIF87aとGIF89aだけを受け付け、APNG、アニメーションWebP、動画は解析しません。
- 上限は30MB、論理サイズ4096 × 4096ピクセル、1000フレームです。
- 論理キャンバスのピクセル数とフレーム数の積が2500万を超えると、メモリのリスクを抑えるため処理を停止します。
- ブラウザ、OS、ディスプレイのリフレッシュレートにより、非常に短い遅延の見え方が少し変わることがあります。
よくある質問
表示される遅延と再生時の遅延が違うのはなぜですか?
GIFは0や非常に短い遅延を宣言できますが、ブラウザは短すぎる間隔を制限することがあります。プレーヤーは元の値と再生に使う値の両方を表示します。
GIFの1フレームを画像として保存するには?
タイムラインまたはフレーム番号欄でフレームを選び、「現在のフレームをPNGで保存」を押してください。ダウンロードされるのは合成済みの論理キャンバス全体です。
アップロードしたGIFはサーバーに送信されますか?
いいえ。ファイルはブラウザのFile APIで読み込み、解析、合成、プレビュー、PNG出力はすべてこの端末内で行います。
プライバシー、方法、出典
このツールはファイルをアップロードせず、実行時の第三者APIを呼び出さず、URLやローカルストレージにも書き込みません。コピーまたはダウンロードを押したときだけクリップボードやローカルファイルを使います。
GIF89aの形式説明に沿って解析し、プレビューとPNG出力にはブラウザのCanvas APIを使います。GIFパーサーとLZWデコーダーは独自実装です。