GNU/Linux >> Linux の 問題 >  >> Ubuntu

PNGストリップをGIFに変換する方法は?

そのため、このアニメーションをプログラムで作成しましたが、PNGシーケンスとしてのエクスポートをサポートしていないため、GIFに変換できます。アニメーションは100フレームを超えるため、各画像を1つずつ保存するには時間がかかります。ただし、映画フィルムのような「ストリップ」としてのエクスポートはサポートされています。アニメーションの各画像のサイズは同じです。プログラムの「ストリップ」機能の仕組みは次のとおりです。

アニメーションの画像は水平方向に積み重ねられ、最初のフレームが左端、最後のフレームが右端になります。フレーム間にギャップはなく、アニメーションにXフレームがある場合、ファイル名は通常「name_stripX.png」です。各フレームが32x32で、アニメーションに8フレームがある場合、このファイルの幅は256、高さは32になります。

出力例を次に示します。各色が1つのフレームに表示されます。

また、もう少し明確にするために、このプログラムは「GameMaker8.0」と呼ばれています。

承認された回答:

ImageMagickを使用してさまざまな方法で画像を変換できますが、これは非常に簡単にできるはずです。まず、パーツに分割できます(original.png ソース画像であり、この場合は32x32ピクセルのサイズです):

convert original.png -crop 32x32 parts-%02d.png

次に、それをアニメーションに変換できます(-loop 1を使用) ループさせたくない場合):

convert -loop 0 -page +0+0 ./parts*.png output.gif

結果:

最初のコマンドの出力PNGにはオフセットが含まれているため、-page +0+0はありません。 オプションのアニメーションは次のようになります:

-delayなど、(主に2番目のコマンドに)含めることができる他のさまざまなオプションがあります。 など–アニメーションを最適化して、アニメーションを小さく(ロード/レンダリングを高速化)することもできます。例: 借りた ここから:

convert output.gif -fuzz 10% -layers Optimize optimised.gif

またはgifsicleを使用する

gifsicle -O output.gif -o optimised.gif

編集: フレームが透明な場合は、
-dispose Backgroundを追加することで、置き換えるフレームを設定できます。 オプションなので、次のフレームがロードされたときにフレームが破棄されるとき:


これに伴う問題は、結果の画像をあまり最適化できない可能性があることです。別の方法として、フレームを不透明にして、次のフレームが前のフレームをカバーするようにすることもできます。

関連:電気–切り替えられた常夜灯+コンセントを切り替えられていないコンセントに変換しますか?
Ubuntu
  1. CentOS8をCentOSストリームに変換する方法

  2. サウンドファイルをOpusに変換する方法は?

  3. TrueType グリフを PNG 画像に変換しますか?

  1. UbuntuLinuxで複数の画像をPDFに変換する方法

  2. コマンドラインで画像をマージするには?

  3. tar.bz2 を tar.gz に変換するにはどうすればよいですか?

  1. Ubuntu20.04LTSにPencil2Dアニメーションをインストールする方法

  2. CentOS を CloudLinux OS に変換するにはどうすればよいですか?

  3. PDFをグレースケールに変換する方法