当前位置: 首页 > 后端技术 > Python

gif动态图片生成器,多张图片合成生成一张动态图片...

时间:2023-03-25 23:42:30 Python

这个小工具就是用来合成多张图片生成动态gif图片的。设置界面化操作,只需要导入选中的图片,最后直接生成动态图片即可。完整源码需要到文末,文末附上完整源码的获取方法。导入界面相关的第三方库fromPyQt5.QtWidgetsimport*fromPyQt5.QtGuiimport*动态图像处理模块importimageio应用操作相关库importsysimportosfromdatetimeimportdatetime这是图片生成器生成的GIF图片。生成时,尽量选择两张尺寸大小相同的照片,生成的动态图片会有更高的契合度。小工具包含两个重要的功能流程,一个是UI界面的制作和生成,一个是将多张图片合成为GIF的动态图片。UI界面制作功能流程。definit_ui(self):self.setWindowTitle('Gif图像生成器公众号:[Python集中营]')self.setWindowIcon(QIcon('icon.ico'))vbox=QVBoxLayout()self.moive_label=QLabel()gif=QMovie()gif.setFileName('20220124215914.gif')self.moive_label.setMovie(gif)gif.start()grid=QGridLayout()self.images_text=QLineEdit()self.images_text.setPlaceholderText('源图像文件')self.images_text.setReadOnly(True)self.images_btn=QPushButton()self.images_btn.setText('选择图片')self.images_btn.clicked.connect(self.images_btn_click)self.save_dir=QLineEdit()self.save_dir.setPlaceholderText('存储路径')self.save_dir.setReadOnly(True)self.save_dir_btn=QPushButton()self.save_dir_btn.setText('存储路径')self.save_dir_btn.clicked.connect(self.save_dir_btn_click)self.generate_btn=QPushButton()self.generate_btn.setText('快速生成')self.generate_btn.clicked.connect(self.generate_btn_click)grid.addWidget(self.images_text,0,0,1,2)grid.addWidget(self.images_btn,0,2,1,1)grid.addWidget(self.save_dir,1,0,1,2)grid.addWidget(self.save_dir_btn,1,2,1,1)grid.addWidget(self.generate_btn,2,0,1,3)vbox.addLayout(grid)vbox。addWidget(self.moive_label)self.setLayout(vbox)GIF动态图片生成过程defgenerate_btn_click(self):paths=[]image_paths=self.images_text.text().strip().split(",")forimage_pathsinimage_path:ifimage_path.strip()!='':paths.append(image_path)print('Selectedimagepath:',paths)gif_image=[]forpathinpaths:gif_image.append(imageio.imread(path))gif_path=self.save_dir.text().strip()+'/'复制代码+datetime.now().strftime("%Y%m%d%H%M%S")+'.gif'imageio.mimsave(gif_path,gif_image,fps=1)gif=QMovie()gif。setFileName(gif_path)self.moive_label.setMovie(gif)gif.start()公众号回复“动态图像合成器”获取完整源码,可根据源码定制。我是【Python集中营】,很高兴看到大结局,我是专注于Python知识分享的公众号,希望得到大家的关注~【往事精彩】中几种常见的数据处理操作python,一行代码搞定!过年了,我们用PyQt5生成一对春联...记录一下python中前十%占位符对应的格式...PyQt5UI做一个豆瓣电影信息查看器,认识QThread多线程用于第一次...PyQt5最小化到托盘,升级小闹钟...