GIFの合成を理解する
GIFの透明度と完全なコマの復元
透明色、部分更新、disposalの指示が各コマの見え方を決めます。元の画像にある情報とプレビューの背景を区別し、PNGの結果を確認しましょう。
1. GIFの透明色が表すもの
GIFの画素はパレットの色番号で表され、透明として指定された番号は描画されません。基本的に透明か不透明かの選択で、PNGの段階的なalphaとは異なります。PNGへ変換しても元にない半透明の輪郭は生成されません。
透明な画素が「今回の更新では上書きしない」という働きをすると、以前の画面が残ります。毎コマ背景を消す意味だとは限りません。実色の縁が見える場合は、元のGIFで背景色と混ぜて保存されていないか確認してください。
2. 部分更新を保存する理由
小さな範囲だけが変わるとき、GIFは画面全体ではなく更新矩形を保存して容量を抑えます。矩形の位置とサイズも記録され、範囲外の画素には既存の画面が利用されます。この矩形は独立した完成画像とは限りません。
固定背景上の物体を動かす場合、後続コマには物体周辺しか含まれないことがあります。矩形をそのまま画像化すると背景や寸法が不足します。GIF Splitterは各時点の完全な可視画面を作り、1枚ずつ使えるPNGを出力します。
3. 論理画面を読む
論理画面はGIF全体の幅と高さです。各画像ブロックはそれより小さく、左上位置を持つ場合があります。出力サイズはブロックではなく論理画面で決まり、プレビューの表示サイズとは別です。結果の寸法とPNGの寸法を比較できます。
ブロックを正しい座標に置き、適用される全体または局所パレットと透明番号を使う必要があります。位置を無視すれば物体が移動し、局所パレットを無視すれば色が変わります。PNGの拡大や再圧縮ではこの種の誤りは直りません。
4. Disposal 2は領域を消去する
disposal 2は現在のコマを表示した後、そのコマの矩形領域を次の描画に備えて消去する指示です。常に画面全体を消すわけではなく、現在のPNGを保存する前に消してしまうものでもありません。背景の扱いには元データの条件が関係します。
3 × 1の制御例では赤の画面に中央の緑を重ね、次に右を青にします。方法2の最後の画面は赤・透明・青です。中央が残らないことを前後で確認すれば、消去を適用するタイミングを理解できます。
5. Disposal 3は描画前の状態へ戻す
disposal 3は現在のコマを見せた後、描画する直前の画面状態へ戻す指示です。単に前のPNGをコピーしたり、全体を空にしたりする処理ではありません。復元できるように、描画前の必要な状態を保持します。
同じ3 × 1の例で方法3を使うと、緑の一時的な重なりの後に赤が戻り、最後は赤・赤・青になります。方法2の赤・透明・青と比較してください。1枚だけを見るよりも、前後の画面を追うと違いが分かります。
6. 更新矩形と完全なコマを比べる
更新矩形は圧縮の仕組みを調べる資料になり、完全なコマは静止画や素材として使うものです。役割が異なるのでサイズも内容も違うことがあります。PNG出力では、それまでに残すべき画素も含めて合成します。
正しさを比較する際は元のアニメーションの同じ時点を見てください。矩形だけの抽出を完成画面の唯一の基準にしてはいけません。特殊なデータで差が出たら、番号、座標、透明色、disposalを記録すると問題を切り分けやすくなります。
7. PNGを複数の背景で確認する
市松模様は透明部分を見せる表示で、ダウンロードに含まれません。PNGを白、黒、鮮やかな色の背景に置くと、白い画素と透明な画素を区別できます。白背景の画像ビューアだけで確認すると、実際は白で塗られた場所を見落とします。
市松模様がPNG内に見える場合、元のGIFに描かれている可能性があります。輪郭の色も、制作時に特定背景へ合成されていればPNGでは消えません。滑らかな半透明が必要なら、元素材や別の書出し設定を用意してください。
8. 適切な対処を選ぶ
合成が元の透明情報と一致しているなら、次の編集ソフトで必要な背景を選びます。元からある実色背景、色の不足、ギザギザは元素材で直す必要があります。同じ色をすべて透明にすると、物体内部の色まで消す危険があります。
有効なGIFで位置のずれや残像が再現する場合は、完全性と制限を問題解決ガイドで確認し、該当するコマを報告してください。プレイヤー間の差だけで不具合を断定せず、画素を変更する前に原因を分けます。
GIFの実用ガイド
1枚の画像を選ぶ方法から、透明度、表示時間、ブラウザの制限まで。出力を確認するためのガイドです。
- GIFをコマごとに分解してPNGで保存する方法
GIFアニメから静止画を取り出す手順を紹介。1コマだけのPNG保存、全フレームの連番ZIP、透明部分、表示時間、大きなGIFの扱い方を説明します。
- コマの表示時間とプレビューの再生時間
GIFに記録された時間とプレビューを区別し、0・10・20・80ミリ秒の例でPNG連番の時間情報を確認します。
- GIFの抽出とダウンロードの問題を解決する
ファイルの読取り、メモリ、画像サイズ、ZIPの問題を切り分け、30 MiBと1,000コマなどの制限を確認します。