gif动态图片播放模块最新版

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

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

这是一个用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)

 
如需要查看完整源代码,请扫码付款:

VIP免费查看

已有0人支付

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

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

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