下面的程序能把一段文字,加上一个背景图,合成一个逐字显示的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资源。)
发表评论