新しい洗練された説明が必要だと思います(フレーム遅延も考慮すべき重要なことです)...この新しいプロセスでは、このリンクからJREPL.BATをダウンロードする必要があります:http :
//www.dostips.com /forum/viewtopic.php?t=6044
まず、キャプチャしたgifをinput.gifファイルにコピーしてから、コマンドインタープリターを起動して次のように入力します。
gifsicle input.gif -I "#-1"> input.txt
input.txtを調べて、アニメーションの長さを確認します-含まれているフレームの数...フレームの遅延も調べます。0.07秒であれば、この行にオプション-d14(7msec * 2)を入れる必要があることを意味しますprocess.cmdで:gifsicle -b -U -d14 input.gif、編集後、process.cmdを保存
次にtest.batを編集し、この行の変数166の値をアニメーションのフレーム数に一致するように変更します。/L%% i IN(1,2,166)DO echo "#%% i" >> input.batの後、保存test.batを編集...
次に、process.cmdを開始し、奇数フレームごとにトリミングされたアニメーションがinput.gifファイルに処理されます
PSこの方法の利点は、gifから何を削除するかを完全に制御できることです(2番目のフレーム(1,2,166)、3番目ごと(1,3,166)など)。バッチライン、ただし(1,3,166)を指定する場合は、それに応じてprocess.cmdから-d14(遅延オプション)を変更して、変更を反映する(7msec * 3/2 = 10)必要があるため、(7msec * 2 / 1 = 14)、遅延のオプションは-d10 ...
他のファイル(たとえば、1秒おきのフレームを削除する場合):test.bat:
@echo off
echo gifsicle -b input.gif --delete>> input.bat
for /L %%i IN (1,2,166) DO echo "#%%i">> input.bat
echo --done>> input.bat
call jrepl.bat "\n" "" /x /m /f input.bat /o -
process.cmd:
gifsicle -b -U -d14 input.gif
call "test.bat"
call "input.bat"
gifsicle -b -O3 input.gif
erase "input.bat"
ヘルパーのreadmeファイルinput.txt:
* input.gif 166 images
logical screen 1366x768
global color table [256]
background 15
loop forever
+ image #165 1x1 at 1365,767 transparent 15
disposal asis delay 0.07s
let i=0; while [[ $i -lt $(($numframes / 2)) ]]; do gifsicle $2 --delete "#$i" -o $2; let i=i+1; done