1
0
Fork 0
pomodoro/archive/gif-animatin-with-bash-script.md
2025-02-28 19:13:08 +03:00

2 KiB
Raw Permalink Blame History

Анимация Gif с помощью скрипта Bash

Три шага преобразований лучше выполнять по отдельности, чтобы визуально убедиться в результатах. Сначала создаём серию скриншотов, выкидываем лишние или одинаковые, если таковые попались. После этого вырезаем релевантную часть из всех изображений и сохраняем в отдельные файлы. Затем объединяем части в один анимационный файл.

#!/bin/bash
folder="$HOME/screenshot" # Каталог для скриншотов должен существовать.
#-----------------------------------------------------------------------------------------------;
# Создание 30 скриншотов по 3 штуки в секунду и сохранение их в каталоге.
for i in {01..30}; do
  xfce4-screenshooter -f -s "$folder/screenshot${i}.gif"
  sleep 0.333
done
#-----------------------------------------------------------------------------------------------;
# Обрезка изображений и сохранение релевантных частей в этом же каталоге, ШхВ нового изображения и ШхВ отступ.
for i in {01..30}; do
  convert -verbose -strip "$folder/screenshot${i}.gif" -crop 640x480+320+230 +repage "$folder/animation${i}.gif"
done
#-----------------------------------------------------------------------------------------------;
# Анимация в бесконечном цикле из полученных изображений с задержкой 0.5 секунды на кадре и ещё 3 секунды на последнем кадре.
convert -verbose -loop 0 -delay 50 "$folder"/animation{01..30}.gif -delay 300 "$folder"/animation30.gif "$folder"/animation.gif