宇宙类作品_星汉灿烂的序幕模块_播放gif动画函数

本人用scratch做了一个叫<星汉灿烂>的作品,作品的配音和动画结合得很好,这里是用Pygame做的一个序幕,序幕过后就是显示八大行星等的内容交互动画。

"""
    星汉灿烂的序幕模块.py
    本程序使用Pygame来播放一个gif动图。
"""
import os
import pygame
from time import sleep
from pygame.locals import *
from tempfile import TemporaryDirectory
from PIL import Image, ImageSequence
 
def playgif(imagefile,screen_width,screen_height):
    """加载gif文件,渲染在Pygame的屏幕上不断显示"""
    basename = os.path.basename(imagefile)
    basename = basename.split('.')[0]
    outputlist = []              # 待返回的每一帧
    # 新建临时文件夹
    ffd = TemporaryDirectory(suffix=None, prefix=None, dir=None)     
    im = Image.open(imagefile)   # 载入图片
    width,height = im.size
    index = 0
    for frame in ImageSequence.Iterator(im): # 迭代gif图中的每一帧
        filename = ffd.name + os.sep +  basename +  str(index) + ".png"
        frame.save(filename )
        outputlist.append(filename)
        index += 1
    im.close()                  # 关闭图形对象
    

You must log in to read the rest of this article. Please log in or register as a user.