Eu acho que preciso de uma nova explicação mais sofisticada (o atraso de quadros também é uma coisa importante que deve ser considerada também) ... Para esse novo processo, você precisará baixar o JREPL.BAT neste link:
http://www.dostips.com /forum/viewtopic.php?t=6044
Primeiro copie o gif capturado no arquivo input.gif e inicie o interpretador de comandos e digite:
gifsicle input.gif -I "# -1"> input.txt
olhe para input.txt e veja qual é o comprimento da animação - quantos quadros ele contém ... também olhe para o atraso do quadro e se é 0,07s significa que você deve colocar a opção -d14 (7msec * 2) nessa linha em process.cmd: gifsicle -b -U -d14 input.gif, após editar, salve process.cmd
edite test.bat e altere o valor da variável 166 dessa linha para corresponder ao número de quadros de animação: para / L %% i IN (1,2,166) DO echo "# %% i" >> input.bat, depois editar salvar test.bat ...
então inicie process.cmd e a animação cortada com todos os quadros ímpares será processada no arquivo input.gif
PS A vantagem desse método também é que você tem controle total do que deseja excluir do gif (a cada segundo quadro (1,2,166) ou a cada terceiro (1,3,166)), e assim por diante, basta alterar o número do meio em linha de lote, mas lembre-se de que, se você especificar (1,3,166), deverá alterar -d14 (opção de atraso) de process.cmd para refletir a alteração (7msec * 3/2 = 10), portanto, em vez de (7msec * 2 / 1 = 14), a opção de atraso deve ser -d10 ...
Outros arquivos (por exemplo, removendo cada segundo quadro): 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"
E o arquivo leia-me auxiliar 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