フレームごとに256色以上のアニメーションGIFを作成できますか?


31

フレームごとに256色以上のアニメーションGIFを作成できますか?アニメーションGIFを実行したいのですが、限られたカラーパレットにより、ゴミのように見えます。

回答:


42

はい、できますが、特定の制限があります。

箱から虹

GIFはフレームごとの(ローカル)パレットをサポートし、複数のフレームを結合できる「そのままの」フレーム破棄方法を備えています。

[ この手法を使用したGIFエンコーダー " gifski "]を作成しました。フレームごとに約1000〜3000色のアニメーションを生成します。

キャッチは、画像のすべてのピクセルがフレーム間で変化しない場合にのみ、これを利用できるということです。したがって、静止した背景の前で何かが動いている場合、256色以上のアニメーションを作成できます。移動するオブジェクトは256色に制限されますが、背景は異なるパレットを持つ複数のフレームで構成できます。巧妙なディザリングにより、動いているオブジェクトのピクセル再利用することさえ可能です


アニメーション画像のみが256色を超えることができるということですか?とにかく、256色以上の静的な画像を表示できるというハッキングは可能ですか?
Pacerier

4
@Pacerierこれはアニメーションに対してのみ機能します。理論的には静的GIFが可能ですが、レガシー/バグにより、ブラウザは0フレーム遅延を1秒の1/16秒と解釈するため、せいぜい静的な画像を構築するアニメーションを作成できます。静的な場合は、とにかくPNG / JPGを使用した方が良いでしょう。
コーネル14年

3
いやgifは、静止画像の領域で単一の利点を持っているようには見えません。
Pacerier 14年

2
@GeorgeEdisonはできますが、GIFの圧縮率は非常に弱いため、PNGなどを使用するよりもあらゆる点で劣ります。
コーネル

1
@ g491 gifsicleは、そのようなファイルを作成できます(透明度と破棄=キープモードで複数のgifを使用)
Kornel

5

いいえ、できません。GIF形式では256色しか使用できません。


3
フレームごと。実用性の問題に言及する前に、Bingが現在これらのトゥルーカラーGIFを使用していると確信しています。
ジョンチャドウィック

1
このgifには32697色が表示されます:phil.ipal.org/tc.htmlおよびgoo.gl/DBdg1o
Pacerier

3

少なくとも理論的には、GIFを積み重ねて、余分な色を透明にすることができます。

  1. 最初に、各フレームをコピーして、各フレームが2つになるようにします。
  2. 次に、画像の半分が選択されるように、感度が十分低い色で領域を選択します。
  3. 次に、選択範囲内のすべてを消去します。
  4. 次に、選択を反転します。
  5. 次に、次のフレームに移動して、すべてをもう一度消去します。
  6. 最終結果を保存します(raw-ani.gif)。
  7. フレームの半分を削除します。
  8. 新しいファイル名(ani1.gif)で保存します。
  9. 以前に保存したバージョンをロードします。
  10. フレームの残りの半分を削除します。
  11. もう一度保存します(ani2.gif)。

絶対配置でHTMLをハックしani2.gif、の上に置きani1.gifます。

このプロセスを繰り返して、4、8、16レイヤーまたは必要なレイヤーを作成します。

また、raw-ani.gif結果を高速化して、Kornelが説明した内容にすることもできます。


2

GIFファイルは256色に制限されていません。


4
本当のことですが、トゥルーカラーGIFハックにはいくつかの大きな制限があります:アニメーションをサポートしていない画像ビューアー(またはユーザーがGIFアニメーションを無効にしているブラウザー)では動作しないため、最小フレーム遅延を課すブラウザ、および不十分に圧縮する巨大なファイルを生成する傾向があります。それはきちんとしていますが、実際の世界ではあまり有用ではありません。256色以上が必要な場合は、PNGを使用してください。(残念ながら、MNG / APNGブラウザーのサポートは非​​常にむらがあります。)
イルマリカロネン

これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
マークヘンダーソン

1

トゥルーカラーgifを使用することは可能ですが、オンラインではさまざまな記事がありますが、あまり実用的ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.