前面有一个程序也是这个模块, 这个模块不把拆的帧图写入磁盘,然后再读取 ,所以速度更快得多。

这是一个用pygame编写的播放gif动画的模块,还可以给gif配上背景音乐。下面是部分代码预览:
"""
动态图片播放模块.py
本程序使用Pygame来播放一个gif动图。
gif图是通过pillow模块的Image类打开的,
通过把它转换成bytes,从而让Pygame.image.fromstring
能读取这个图形到内存,进而一帧一帧地显示在screen上。
"""
import pygame
def playgif(imagefile,sw=480,sh=360,bgmusic=None):
"""imagefile:图形文件,sw:屏幕宽度,sh:屏幕高度,bgmusic:背景音乐
,本函数加载gif文件,渲染在Pygame的屏幕上不断显示从而播放gif图形。"""
pygame.init()
screen = pygame.display.set_mode((sw,sh))
pygame.display.set_caption(imagefile)
gif_image = Image.open(imagefile) # 打开gif文件
width,height = gif_image.size
print("读取gif文件中,请稍候...")
frames = [] # 帧列表
....................................
# 下面是用Pygame窗口显示每幅帧图
rect = pygame.Rect(0,0,width,height)
rect.center = sw//2,sh//2
clock = pygame.time.Clock()
for frame in frames:
pygame.event.get()
screen.fill((0,0,0))
screen.blit(frame,rect)
pygame.display.update()
clock.tick(10)
return screen
if __name__ == "__main__":
screen = playgif('序幕.gif')
if screen:pygame.quit();print(screen)
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
