더 정교한 설명이 필요하다고 생각합니다 (프레임 지연도 고려해야 할 중요한 사항입니다) ...이 새로운 프로세스를 위해서는 다음 링크에서 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의 값을이 줄에서 변경하십시오. for / L %% i IN (1,2,166) DO echo "# %% i">> input.bat, test.bat 저장 저장 ...
그런 다음 process.cmd를 시작하고 모든 홀수 프레임마다 자른 애니메이션이 파일 input.gif로 처리됩니다.
추신 :이 방법의 장점은 gif (두 번째 프레임 (1,2,166) 또는 모든 세 번째 (1,3,166))에서 삭제할 항목을 완전히 제어 할 수 있다는 것입니다. 배치 라인이지만 (1,3,166)을 지정하면 process.cmd에서 -d14 (지연 옵션)를 변경하여 (7msec * 2 대신 변경 (7msec * 3 / 2 = 10)을 반영해야합니다. / 1 = 14), 지연 옵션은 -d10 ...이어야합니다.
다른 파일 (예 : 매 초마다 프레임 제거) : 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