需要用到的库有 imageio, os ,pillow库
from PIL import Image
import os
import imageio
def createGif(imagelist, gifName):
frames = []
for imageName in imagelist:
print(imageName)
if imageName.endswith('.png'):
print(imageName)
frames.append(imageio.imread(imageName)) # imread() 读取指定路径的图像,append 叠加矩阵
imageio.mimsave(gifName, frames, 'GIF', duration=0.8) # duration 帧时长
return
#裁剪函数--统一大小
def clipPic():
oldPics=""
files = os.listdir("d:\\btmcXg") # 打开文件路径下的所有资源,并返回一个列表对象(文件夹下的文件名称)
for img in files:
oldPic = Image.open("d:\\btmcXg\\{}".format(img))
newPic = oldPic.resize((440,440))
newPic.save("d:\\btmcXgNew\\{}".format(img))
def main():
clipPic()
path = 'd:\\btmcXgNew' # 存放PNG图片文件夹位置
gifName = 'd:\\btmcXgNew\\create.gif' # 生成gif的名称
files = os.listdir(path) # 打开文件路径下的所有资源,并返回一个列表对象(文件夹下的文件名称)
imagelist = []
# 遍历并且拼接每个文件路径-->列表对象
for img in files:
cd=os.path.join(path,img)
imagelist.append(cd)
print(imagelist)
createGif(imagelist, gifName)
if __name__ == "__main__":
main()
imageio库
mimsave()方法主要有4个参数,
第1个参数 url是要保存的GIF文件全路径名称,包括后缀名.gif;
第2个参数 ims是图片列表;
第3个参数 是保存类型,设置为字符串’GIF’;
第4个参数 duration为每张图片播放持续时间,单位为秒。
还有很多参数可以参考https://imageio.readthedocs.io/en/stable/index.html
imread()方法,读取指定路径的图像
os库
os,listdir() 列出某目录下所有的目录和文件。
os.path.join(path,*paths) 组合path和paths,返回一个字符串
这是我随便挑了几张图测试的效果
这是动图文件–中间有个图像被拉扁了(这块儿是我有的一些图原本就是透明的png,所以会黑)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/105206.html