python快速制作倒计时gif图


这是我在整理以前python的代码,所以代码解释的不是很多,我自己随手添加了一点。

方便你更好的理解代码,我将vscode目录结构图放上。
在这里插入图片描述

import imageio
from moviepy.editor import ImageSequenceClip
from PIL import ImageFont,Image,ImageDraw

#制作倒计时的图片
def make_picture(path):
    #设置字体及字号
    font=ImageFont.truetype("simhei.ttf",300)
    #制作 0——9的数字图片
    for idx in list([i for i in range(0,10)]):
        img=Image.open(path+'white.jpg') #准备一张白色背景图
        #img=Image.new("RGB",(300,300),(255,255,255))
        #img.show()
        #在图片上添加文字
        draw=ImageDraw.Draw(img)
        #第一个为文本位置,第二个为文本内容,第三个为文本颜色,第四个为文本字体
        draw.text((180,100),str(idx),(0,0,0),font)
        #img.show()
        #保存图片
        img.save(path+str(idx)+'.png')
    #制作数字10的图片
    img=Image.open(path+'white.jpg')
    draw=ImageDraw.Draw(img)
    draw.text((120,100),'10',(0,0,0),font)
    img.save(path+'10.png')

#制作gif图第一种方法
def make_gif_moviepy(path):
    img_list=[path+str(i)+'.png' for i in range(1,11)]
    img_list.reverse()
    clip = ImageSequenceClip(img_list,fps=1)
    clip.write_gif('timedown_moviepy.gif')  

#制作gif图的第二种方法
def make_gif_imageio(path):
    list=[path+str(i)+'.png' for i in range(1,11)]
    img_list=[]
    for img_name in list:
        img_list.append(imageio.imread(img_name))
    img_list.reverse()
    imageio.mimsave('timedown_imageio.gif',img_list,'GIF',duration=1)
    #duration 切换秒数 

path="images/"

if __name__ == "__main__":
    make_picture(path)  #制作图片
    make_gif_moviepy(path) #制作gif图的第一种方法
    make_gif_imageio(path) #制作gif图的第二种方法

效果图:

由于是白色背景,看不到图片边界,所以这里先放一张静态图。
在这里插入图片描述

第一种方法:timedown_moviepy.gif
在这里插入图片描述

第二种方法:timedown_imageio.gif
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值