这是我在整理以前python的代码,所以代码解释的不是很多,我自己随手添加了一点。
方便你更好的理解代码,我将vscode目录结构图放上。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c1e189a25a6746acbc3e71e1caf666e8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA57yU5a6HR3JlYXQ=,size_16,color_FFFFFF,t_70,g_se,x_16)
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图的第二种方法
效果图:
由于是白色背景,看不到图片边界,所以这里先放一张静态图。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f36a6dd63c434aa4a9c0f8ab9160d83c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA57yU5a6HR3JlYXQ=,size_20,color_FFFFFF,t_70,g_se,x_16)
第一种方法:timedown_moviepy.gif ![在这里插入图片描述](https://img-blog.csdnimg.cn/d6e37b3d7e2e44b096857ec8b9f50f0c.gif#pic_center)
第二种方法:timedown_imageio.gif ![在这里插入图片描述](https://img-blog.csdnimg.cn/f6485fe2144741c8b26ee0cf514cba24.gif#pic_center)
|