Creo que necesito una nueva explicación más sofisticada (el retraso de fotogramas también es algo importante que debe considerarse también) ... Para este nuevo proceso, deberá descargar JREPL.BAT desde este enlace:
http://www.dostips.com /forum/viewtopic.php?t=6044
Primero copie el gif capturado en el archivo input.gif, luego inicie el intérprete de comandos y escriba:
gifsicle input.gif -I "# -1"> input.txt
mire input.txt y vea cuál es la longitud de la animación: cuántos cuadros contiene ... también mire el retraso del cuadro y si es 0.07s, eso significa que debe poner la opción -d14 (7msec * 2) en esta línea en process.cmd: gifsicle -b -U -d14 input.gif, después de editar guardar el proceso.cmd
luego edite test.bat y cambie el valor de la variable 166 de esta línea para que coincida con el número de cuadros de animación: para / L %% i IN (1,2,166) DO echo "# %% i" >> input.bat, después editar guardar test.bat ...
luego inicie process.cmd y la animación recortada con cada cuadro impar se procesará en la entrada de archivo.gif
PD La ventaja de este método también es que tiene control total de lo que desea eliminar del gif (cada segundo cuadro (1,2,166) o cada tercero (1,3,166)), y así sucesivamente, simplemente cambie el número del medio en línea de lote, pero tenga en cuenta que si especifica (1,3,166), debe cambiar -d14 (opción de retraso) de process.cmd para reflejar el cambio (7msec * 3/2 = 10), por lo que en lugar de (7msec * 2 / 1 = 14), la opción de retraso debería ser -d10 ...
Otros archivos (por ejemplo, eliminar cada segundo cuadro): 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 -
proceso.cmd:
gifsicle -b -U -d14 input.gif
call "test.bat"
call "input.bat"
gifsicle -b -O3 input.gif
erase "input.bat"
Y el archivo léame 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