pygame风火轮少儿编程正弦字画生成gif

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

这是用pygame进行图像处理的例子。通过合成图层,pygame可以进行丰富的像素级别的图像处理功能。

"""pygame图像处理之生成风火轮少儿编程正弦gif图.
这个程序生成字图层合成到screen后输出为png文件,最后把所有的png文件又合成一个gif动态文件。
学习了本程序的原理后,就能制作好多gif动画了,比如让字跳动起来,做下雨效果动画gif。"""

__author__ = "李兴球"
__date__ = "2019/3/18"

import pygame,time
from pygame import *
import math,os       # 由于pygame有math,所以要在最后导入math模块
import imageio

def makegif(path,filename):
   """把png文件合成gif文件"""
   images = []
   amount = len(os.listdir(path))   
   for i in range(1,amount+1):
       file = path + os.sep + str(i) + ".png"
       images.append(file)  
   frames = [imageio.imread(image) for image in images]
   imageio.mimsave(filename, frames, 'GIF', duration=0.5) 

path = "C:/" + os.sep + "save"
if not os.path.exists(path):os.mkdir(path)
string = "风火轮少儿编程"
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 360
CENTER_X = SCREEN_WIDTH//2
CENTER_Y = SCREEN_HEIGHT//2
size = (SCREEN_WIDTH,SCREEN_HEIGHT)

pygame.init()
screen = pygame.display.set_mode(size)
pygame.display.set_caption("pygame风火轮少儿编程正弦字画生成gif示例_作者:李兴球")
screen.fill((255,255,255))
msyhfont = pygame.font.Font('msyh.ttf',24)  # 新建微软雅黑字体

i = 0
counter = 0
for angle in range(-180,181,26):    
    x = CENTER_X + angle
    y = CENTER_Y + 70 * math.sin(math.radians(angle))
    y = int(y)
    char = string[i]    # 取一个汉字
    i = i + 1
    i = i % len(string)
    counter = counter + 1 # 下面这句是合成图像层
    txt_image = msyhfont.render(char,True,(255,0,255))
    txt_rect = txt_image.get_rect()
    txt_rect.center = x,y
    screen.blit(txt_image,txt_rect)
    filename = path + os.sep + str(counter) + ".png"
     
    pygame.image.save(screen,filename)   # 保存到png文件
    pygame.display.update()
pygame.quit()
makegif(path,string + ".gif") 

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

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

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