Python文字转逐字gif图片程序(合成gif/生成gif)

Python文字转逐字gif图片程序(合成gif/生成gif)

李兴球Python科学探索最终目的

李兴球python合成gif
李兴球Python科学探索最终目的
下面的程序能把一段文字,加上一个背景图,合成一个逐字显示的gif图片。 程序需要pillow模块支持。安装方法,在管理员窗口下输入pip install pillow。


from PIL import Image,ImageDraw,ImageFont

def make_gif_image(images,filename):
   """
      images: 列表或者一个路径。如果是列表,则里面的是用图形对象。如果是路径,则是一个字符串而已
      filename: 输出的gif文件名
      注意path下面的文件名要是这样的:0.png,1.png,2.png....
    """
   if isinstance(images,(list,tuple)):
        frames = images
   else:                                          # 否则认为是一个路径
       amounts = len([ image for image in os.listdir(images) if os.path.splitext(image)[-1] == ".png"])
       images = [ path_image + os.sep + str(i) + ".png" for i in range(0,amounts)]
       frames = [Image.open(image) for image in images]
   
   pic = frames[0]
    
   pic.save(filename, save_all=True,append_images=frames[1:], quality=85,duration=250)
   
def txt2images(string,width=480,height=360,bg=None,margin=68,
               fontsize=18,fgcolor=(10,0,100,255),bgcolor=(0,0,0,0)):
    
    """文本转逐字图像,输出图形对象列表"""
    if bg == None:
       base = Image.new("RGBA",(width,height),bgcolor)  # 新建图形
    else:
       base = Image.open(bg)
       base = base.convert("RGBA")
       
    frames = []
    pass                                         # 这里省略若干代码
    return  frames

string = "大家好!我是一个阳光、自信、开朗的小胖子。我非常喜欢编程。我的梦想是成为计算机编程专家,创造未来,享受属于自己的精彩人生。"
string = "有一种东西,它承载着人们的希望。这种东西有虚有实,它看不见,摸不着,却能在心中产生巨大的力量,它叫做梦想。上帝没有赐予我们翅膀,他赐予了我们会飞的心和梦想的大脑,使我们拥有一双“隐形的翅膀“。"
string = "大家好,我的梦想是成为一名计算机编程专家。在未来,我要设计在火星上种菜的程序。让在火星上种菜实现完全自动化。这个程序还会把种好的菜自动炒好,然后速冻起来,用虫洞,在1秒种内就能运回地球。"
images = txt2images(string,bg='pink.png')
make_gif_image(images,'梦想们.gif')
for index in range(len(images)):
    frame  = images[index]
    frame.save(f'images/{index}.png')

需要完整源代码,

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客