原地踏步(录屏)

你好,请进入Q群:225792826,免费下载本站最新提供的视频教程原创源码资料,从2020年2月20号到3月底,成为本站会员只要原价的3折,即2980元*0.3 = 894元 ,向微信scratch8付款即可成为本站会员。即可拥有本站所有原创资源,并提供技术支持。如本消息修改,以最后时间的为准。

"""
   原地踏步(录屏).py
   本程序主要演示如何使用screen.save命令进行录屏,
   它会对当前窗口进行抓屏,所以在运行程序时不要把
   当前窗口遮住、移开或最小化,screen.save可以加文件名参数,
   写上文件名参数的话,由于会写文件到磁盘,会让程序运行速度变慢。
   也可以不加任何参数,这样它会返回图形对象,以便接下来的程序保存它。
   以下是save方法的定义原形:
   save(self,filename=None,size=None,margin=5,full=False):
   size是用来指定区域的,是一个四元组,margin为边距,full表示是否截全屏。
  
"""
from sprites import *

# 列表推导式,frames存储每张猫的造型帧图
frames = [f'cats/{i}.png' for i in range(16)]

screen = Screen()            # 新建屏幕
screen.setup(480,360)        # 设定宽高
screen.bgpic('res/sky.png')  # 背景图像

cat = Sprite(shape=frames)   # 新建角色

frames = []                  # 重定义frames,用于保存每一帧
for x in range(10):          # 重复执行10次
    cat.nextcostume()        # 下一个造型
    cat.wait(0.1)            # 等待0.1秒
    im = screen.save()       # 保存当前窗口屏幕为im图形对象
    frames.append(im)        # 添加到frames列表

yes = askyesno('保存','要把每一帧动画保存到frames文件夹吗?\n否则会直接关闭窗口。')
if yes :
    for i in range(len(frames)): # 迭代刚才保存的每一帧
       im = frames[i]
       im.save(f'frames/{i}.png')
    showinfo('提示','保存完毕!')
    # 保存完毕后可以把所有的png合成一个gif
else:
    screen.bye()
    

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿 » 原地踏步(录屏)

学本领,探索更大的世界!

李兴球博客 风火轮编程主页