zsh2517

Untitled

May 22nd, 2024
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.64 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # 参数设置
  4. IMAGE="0.png"
  5. FRAME=30
  6. DIFF=2
  7. TEMP_DIR="temp_frames"
  8. OUTPUT="0.gif"
  9.  
  10. # 创建临时目录
  11. mkdir -p $TEMP_DIR
  12.  
  13. # 计算总帧数
  14. TOTAL_FRAMES=$((360 / DIFF))
  15.  
  16. # 旋转图像并生成帧
  17. for ((i=0; i<TOTAL_FRAMES; i++)); do
  18.     ANGLE=$((i * DIFF))
  19.     convert $IMAGE -background "#99ccff" -rotate $ANGLE -gravity center -extent $(identify -format "%wx%h" $IMAGE) $TEMP_DIR/frame_$i.png
  20. done
  21.  
  22. # 使用 ffmpeg 将帧转换为 gif
  23. ffmpeg -framerate $FRAME -i $TEMP_DIR/frame_%d.png -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -loop 0 $OUTPUT
  24.  
  25. # 清理临时文件
  26. rm -rf $TEMP_DIR
  27.  
  28. echo "GIF 已生成: $OUTPUT"
Advertisement
Add Comment
Please, Sign In to add comment