画像のトリミングに関する情報はたくさんありますが、アニメーションをトリミング(またはトリミング)しようとすると、奇妙な結果が生じます。時々、ちらついたり、余分なフレームが付いたり、一部のフレームが正しくトリミングされて、他のフレームがオフセットされます。これをすべて防ぐにはどうすればよいですか?
convert input.gif -coalesce -repage 0x0 -crop WxH+X+Y +repage output.gif
-coalesce
は、フレーム全体を再構築します。-repage 0x0
で強制的にリセットする必要があります。+repage
を適用すると、これが行われます。合体とページの変更を行っても、ImageMagickでアニメーションGIFを適切にトリミングおよびサイズ変更できませんでした。
Gifsicle というプログラムを見つけましたが、アニメーションGIFの操作に最適です。
gifsicle --crop 0,0-100,100 --output out.gif in.gif
また、他のあらゆる種類の操作を実行できます。見てみな!
アニメーションはしばしば最適化されます。つまり、一部のフレームは他のフレームよりも小さくなります。そのため、ImageMagickでは、おそらくトリミングする前にアニメーションを結合する必要があります。
convert in_animation.gif -coalesce -crop WxH+X+Y +repage -layers optimize out_animation.gif
ちらつきを避けるために、入力アニメーションを読み取る前に-disposeメソッドを追加する必要がある場合があります。変更を加える場合は、最後に-delayと-loopも設定します。
見る
http://www.imagemagick.org/Usage/anim_basics/#disposehttp://www.imagemagick.org/Usage/anim_basics/#coalescehttp://www.imagemagick.org/script/command-line-options.php#layers