有时候发博客时,需要发一个gif来显示画面,苦于没有合适的录屏并转gif的工具,于是自己开发了一个。
以下是运行后的效果

一 源代码
import pygetwindow as gw
import numpy as np
from PIL import ImageGrab, Image
import imageio
from datetime import datetime
def record_screen(duration=5, fps=10):
frames = []
for i in range(int(fps * duration)):
frame = np.array(ImageGrab.grab())
frames.append(frame)
print(f"Frame {i + 1} captured.")
return frames
def save_frames_as_gif(frames, gif_name="full_screen.gif"):
imageio.mimsave(gif_name, [Image.fromarray(frame) for frame in frames], fps=10)
def main():
duration = 5 # seconds
fps = 10 # frames per second
frames = record_screen(duration, fps)
# 获取当前时间并格式化为字符串
current_time = datetime.now().strftime("%Y%m%d%H%M%S")
gif_name = f"full_screen_{current_time}.gif"
save_frames_as_gif(frames, gif_name)
print("GIF saved.")
if __name__ == "__main__":
main()
二 说明
默认可以保存5秒,同学们可以根据需求进行修改。此外,录屏结束后,不要立刻关闭,等待处理并保存后脚本会自动关闭。
希望同学们喜欢
505

被折叠的 条评论
为什么被折叠?



