13

TIFアニメーションに変換したいPNGという名前のファイルがたくさんあります。数は5の跳躍で0から25まで変化します。ImageMagickは、アニメーションの最後に配置されますが、2番目に配置されます。ファイルの名前を変更して適切な場所に配置する以外に方法はありますか?foo<bar>.png<bar>foo5.pngfoo05.png

4

6 に答える 6

16

入力するのに十分な数の入力画像がある場合(たとえば、foo0..foo100.png)、これを行うことができます(Linux、Unix、およびMac OS Xの場合)。

convert                                                  \
  -delay 10                                              \
   $(for i in $(seq 0 5 100); do echo foo${i}.png; done) \
  -loop 0                                                \
   animated.gif
于 2012-09-09T20:12:59.667 に答える
11

シンプルで簡単、画像を一覧表示して並べ替えます。

convert -delay 10 -loop 0 $(ls -1 *.png | sort -V) animated.gif
于 2019-01-11T00:25:59.487 に答える
6

PNGファイルの順序をアニメーションに表示される順序で指定するだけです。使用する:

foo0.png foo5.png foo10.png foo15.png foo20.png foo25.png

それ以外の

foo*.png

結局のところ、入力が簡単なのは6つの異なるファイル名だけです。

convert                                                      \
  -delay 10                                                  \
   foo0.png foo5.png foo10.png foo15.png foo20.png foo25.png \
  -loop 0                                                    \
   animated.gif
于 2012-09-09T15:10:53.710 に答える
1

「検索」と「並べ替え」を使用できます。

convert -delay 10 $(find . -name "*.png" -print0 | sort -zV | xargs -r0 echo) -loop 0 animated.gif
于 2017-10-17T19:02:49.583 に答える
0

または、Pythonを少し知っている場合は、PythonシェルからPythonの助けを簡単に活用できます。

ターミナルに入力してPythonシェルを起動しpythonます。そして、次の魔法の呪文を適用します-

# Suppose your files are like 1.jpeg, 2.jpeg etc. upto 100.jpeg
files = []
for i in range(1, 101):
    files.append('{}.jpeg'.format(i))
command = 'convert -delay 10 {} -loop 0 animated.gif'.format(' '.join(files))
from subprocess import call
call(command, shell=True)

あなたの仕事は終わらせるべきです!

于 2018-04-23T16:53:02.213 に答える
0

lsやsortよりもさらに簡単なのは、lsの組み込みの-vオプションを使用することです。

convert -delay 10 -loop 0 `ls -v *.png` animated.gif

`...`文字列として解釈される代わりに実行されます。

于 2020-10-22T16:01:09.427 に答える